結果

問題 No.351 市松スライドパズル
ユーザー code-devo
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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");
		}
	}
}
0