結果
問題 | No.179 塗り分け |
ユーザー | nuwasogi |
提出日時 | 2015-11-23 16:18:28 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 4,539 bytes |
コンパイル時間 | 1,866 ms |
コンパイル使用メモリ | 116,568 KB |
実行使用メモリ | 49,424 KB |
最終ジャッジ日時 | 2024-04-10 12:55:14 |
合計ジャッジ時間 | 4,634 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 27 ms
25,384 KB |
testcase_01 | AC | 28 ms
25,388 KB |
testcase_02 | AC | 27 ms
25,508 KB |
testcase_03 | AC | 26 ms
27,428 KB |
testcase_04 | AC | 25 ms
25,256 KB |
testcase_05 | AC | 31 ms
27,228 KB |
testcase_06 | AC | 25 ms
25,516 KB |
testcase_07 | WA | - |
testcase_08 | AC | 127 ms
46,952 KB |
testcase_09 | AC | 127 ms
46,820 KB |
testcase_10 | AC | 28 ms
27,104 KB |
testcase_11 | AC | 26 ms
26,972 KB |
testcase_12 | AC | 115 ms
48,364 KB |
testcase_13 | AC | 26 ms
27,196 KB |
testcase_14 | AC | 25 ms
25,524 KB |
testcase_15 | AC | 25 ms
25,124 KB |
testcase_16 | AC | 25 ms
25,260 KB |
testcase_17 | AC | 26 ms
27,060 KB |
testcase_18 | AC | 28 ms
23,600 KB |
testcase_19 | AC | 28 ms
23,860 KB |
testcase_20 | AC | 120 ms
49,424 KB |
testcase_21 | AC | 131 ms
48,748 KB |
testcase_22 | AC | 141 ms
46,812 KB |
testcase_23 | AC | 27 ms
27,232 KB |
testcase_24 | AC | 127 ms
46,692 KB |
testcase_25 | AC | 27 ms
25,372 KB |
testcase_26 | AC | 39 ms
34,840 KB |
testcase_27 | AC | 126 ms
46,716 KB |
testcase_28 | AC | 30 ms
28,828 KB |
testcase_29 | AC | 125 ms
46,704 KB |
testcase_30 | AC | 70 ms
46,596 KB |
testcase_31 | AC | 124 ms
46,824 KB |
testcase_32 | AC | 53 ms
40,428 KB |
testcase_33 | AC | 124 ms
48,868 KB |
testcase_34 | AC | 46 ms
35,500 KB |
testcase_35 | AC | 127 ms
46,832 KB |
testcase_36 | AC | 26 ms
25,388 KB |
testcase_37 | AC | 26 ms
25,248 KB |
testcase_38 | AC | 24 ms
23,352 KB |
testcase_39 | AC | 24 ms
25,144 KB |
testcase_40 | AC | 25 ms
23,348 KB |
testcase_41 | AC | 26 ms
25,388 KB |
testcase_42 | AC | 25 ms
25,000 KB |
testcase_43 | AC | 30 ms
27,424 KB |
testcase_44 | AC | 32 ms
27,360 KB |
testcase_45 | AC | 26 ms
23,092 KB |
コンパイルメッセージ
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; namespace Nuriwake_CS { class Program { static void Main(string[] args) { Solver mysol = new Solver(); mysol.Solve(); } } class Solver { public void Solve() { bool ans = B.CanNuriwake(); Console.WriteLine(ans ? "YES" : "NO"); } int H, W; Board B; public Solver() { var hw = ria(); H = hw[0]; W = hw[1]; string[] s = new string[H]; for (int i = 0; i < s.Length; i++) { s[i] = rs(); } B = new Board(H, W, s); } static String rs() { return Console.ReadLine(); } static int ri() { return int.Parse(Console.ReadLine()); } static long rl() { return long.Parse(Console.ReadLine()); } static double rd() { return double.Parse(Console.ReadLine()); } static String[] rsa() { return Console.ReadLine().Split(' '); } static int[] ria() { return Console.ReadLine().Split(' ').Select(e => int.Parse(e)).ToArray(); } static long[] rla() { return Console.ReadLine().Split(' ').Select(e => long.Parse(e)).ToArray(); } static double[] rda() { return Console.ReadLine().Split(' ').Select(e => double.Parse(e)).ToArray(); } } class Board { public enum color { Black, White, Red, Blue } int H, W; color[,] _board; //public color[,] Current; public color this[int i, int j] { get { return _board[i, j]; } } public Board(int h, int w, string[] s) { H = h; W = w; _board = new color[H, W]; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { _board[i, j] = s[i][j] == '#' ? color.Black : color.White; } } } public bool CanNuriwake() { color[,] curBoard = new color[H, W]; var shifts = Coordinate.MakeParallelShifts(H, W); foreach (Coordinate c in shifts) { curBoard = BaseCopy(); bool ok = true; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { if (curBoard[i, j] == color.Black) { curBoard[i, j] = color.Red; try { if (curBoard[i + c.X, j + c.Y] == color.Black) { curBoard[i + c.X, j + c.Y] = color.Blue; } else { ok = false; break; } } catch (Exception e) { ok = false; break; } } } if (ok == false) break; } if (ok) return ok; } return false; } color[,] BaseCopy() { color[,] ret = new color[H, W]; for (int i = 0; i < H; i++) { for (int j = 0; j < W; j++) { ret[i, j] = _board[i, j]; } } return ret; } } struct Coordinate { public int X, Y; Coordinate(int x, int y) { X = x; Y = y; } public static Queue<Coordinate> MakeParallelShifts(int H, int W) { Queue<Coordinate> q = new Queue<Coordinate>(); for (int i = 0, j = 0; j < W; j++) { q.Enqueue(new Coordinate(i, j)); } for (int i = 1; i < H; i++) { for (int j = -W + 1; j < W; j++) { q.Enqueue(new Coordinate(i, j)); } } q.Dequeue(); return q; } } }