結果
問題 | No.455 冬の大三角 |
ユーザー |
|
提出日時 | 2016-12-21 15:10:37 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 3,014 bytes |
コンパイル時間 | 4,081 ms |
コンパイル使用メモリ | 111,696 KB |
実行使用メモリ | 26,656 KB |
最終ジャッジ日時 | 2024-07-18 05:45:22 |
合計ジャッジ時間 | 4,269 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 53 WA * 1 |
コンパイルメッセージ
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 == 0 && G[1].Key == 0) G.Add(new Pair(1, 1)); 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); } } }