結果
問題 |
No.351 市松スライドパズル
|
ユーザー |
|
提出日時 | 2016-03-12 00:31:28 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 597 ms / 2,000 ms |
コード長 | 1,032 bytes |
コンパイル時間 | 2,095 ms |
コンパイル使用メモリ | 78,088 KB |
実行使用メモリ | 177,520 KB |
最終ジャッジ日時 | 2024-09-25 02:42:53 |
合計ジャッジ時間 | 9,941 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { try (InputStreamReader isr = new InputStreamReader(System.in)) { StringBuilder sb = new StringBuilder(20_000_000); char[] cbuf = new char[10000]; int size; while ((size = isr.read(cbuf)) >= 0) { sb.append(cbuf, 0, size); } String[] lines = sb.toString().split("\n"); String[] ary = lines[0].trim().split(" "); int h = Integer.parseInt(ary[0]); int w = Integer.parseInt(ary[1]); int x = 0; int y = 0; for (int i = lines.length - 1; i >= 2; i--) { String line = lines[i].trim(); int k = Integer.parseInt(line.substring(2)); if (line.charAt(0) == 'R') { if (k == y) { x--; if (x < 0) x = w - 1; } } else { if (k == x) { y--; if (y < 0) y = h - 1; } } // System.err.println(String.format("%s (%d, %d)", line, x, y)); } System.out.println((x + y) % 2 == 0 ? "white" : "black"); } } }