結果
問題 | No.179 塗り分け |
ユーザー |
![]() |
提出日時 | 2019-08-03 18:10:23 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,189 bytes |
コンパイル時間 | 2,274 ms |
コンパイル使用メモリ | 77,472 KB |
実行使用メモリ | 58,608 KB |
最終ジャッジ日時 | 2024-07-06 02:09:58 |
合計ジャッジ時間 | 10,657 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 3 |
other | AC * 25 WA * 15 |
ソースコード
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int h = sc.nextInt(); int w = sc.nextInt(); int[] grid = new int[h * w]; for(int i = 0; i < h; i++) { String s = sc.next(); for(int j = 0; j < w; j++) { if(s.charAt(j) == '#') { grid[w * i + j] = 1; } } } int p = 0; int c = 0; // 1が黒、2が青、3が赤 for(int s = 0; s < w; s++) { for(int t = 0; t < h; t++) { int[] g = grid; for(int i = 0; i < h; i++) { for(int j = 0; j < w; j++) { int a = i * w + j; if(g[a] == 1) { if(((j + s) < w) && ((i + t) < h)) { int b = (i + t) * w + (j + s); if(c == 0) { g[a] = 2; g[b] = 3; } else { g[a] = 3; g[b] = 2; } c = 1 - c; } else { p++; } } } } } } String ans = "YES"; if(p == 0) ans = "NO"; System.out.println(ans); } }