結果
問題 |
No.455 冬の大三角
|
ユーザー |
|
提出日時 | 2017-04-22 15:56:14 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 28 ms / 2,000 ms |
コード長 | 3,137 bytes |
コンパイル時間 | 2,058 ms |
コンパイル使用メモリ | 114,476 KB |
実行使用メモリ | 18,048 KB |
最終ジャッジ日時 | 2024-06-30 01:08:49 |
合計ジャッジ時間 | 5,716 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Globalization; using static System.Console; using Pair = System.Collections.Generic.KeyValuePair<int, int>; class Program { static void Main() { var sw = new StreamWriter(OpenStandardOutput()) { AutoFlush = false }; SetOut(sw); new Program().solve(); Out.Flush(); } Scanner cin = new Scanner(); readonly int[] dd = { 0, 1, 0, -1, 0 }; readonly int mod = 1000000007; readonly string alfa = "abcdefghijklmnopqrstuvwxyz"; int H, W; void solve() { H = cin.nextint; W = cin.nextint; var S = new char[H][]; for (int i = 0; i < H; i++) { S[i] = cin.next.ToCharArray(); } var G = new List<Pair>(); for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (S[i][j] == '*') G.Add(new Pair(i, j)); } } if (G[0].Key == G[1].Key) { S[(G[0].Key + 1) % H][0] = '*'; } else { S[G[0].Key][(G[0].Value + 1) % W] = '*'; } /*else if (G[0].Value == 0 && G[1].Value == 0) G.Add(new Pair(1, 1)); else if (G[0].Key == 0 && G[0].Value == 0) G.Add(new Pair(0, 1)); else if (G[1].Key == 0 && G[1].Value == 0) G.Add(new Pair(0, 1)); else if (G[1].Key > G[0].Key && G[0].Key != 0 && G[0].Value != 0) { if (G[1].Key % G[0].Key == 0 && G[1].Value % G[0].Value == 0) { G.Add(new Pair(G[0].Key + 1, G[0].Value)); } else G.Add(new Pair(0, 0)); } else if (G[1].Key < G[0].Key && G[1].Key != 0 && G[1].Value != 0) { if (G[0].Key % G[1].Key == 0 && G[0].Value % G[1].Value == 0) { G.Add(new Pair(G[1].Key + 1, G[1].Value)); } else G.Add(new Pair(0, 0)); } else G.Add(new Pair(0, 0)); S[G[2].Key][G[2].Value] = '*';*/ foreach (var v in S) { WriteLine(v); } } } class Scanner { string[] s; int i; char[] cs = new char[] { ' ' }; public Scanner() { s = new string[0]; i = 0; } public string[] scan { get { return ReadLine().Split(); } } public int[] scanint { get { return Array.ConvertAll(scan, int.Parse); } } public long[] scanlong { get { return Array.ConvertAll(scan, long.Parse); } } public double[] scandouble { get { return Array.ConvertAll(scan, double.Parse); } } public string next { get { if (i < s.Length) return s[i++]; string st = ReadLine(); while (st == "") st = ReadLine(); s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); i = 0; return next; } } public int nextint { get { return int.Parse(next); } } public long nextlong { get { return long.Parse(next); } } public double nextdouble { get { return double.Parse(next); } } }