結果
問題 | No.351 市松スライドパズル |
ユーザー |
|
提出日時 | 2016-03-13 04:09:36 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 121 ms / 2,000 ms |
コード長 | 1,492 bytes |
コンパイル時間 | 2,061 ms |
コンパイル使用メモリ | 77,188 KB |
実行使用メモリ | 64,212 KB |
最終ジャッジ日時 | 2024-09-25 02:54:59 |
合計ジャッジ時間 | 4,979 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
import java.io.IOException;import java.io.InputStream;public class Main {public static void main(String[] args) throws Exception {Scanner sc = new Scanner(System.in);int h = sc.nextPositiveInteger();int w = sc.nextPositiveInteger();int n = sc.nextPositiveInteger();boolean[] rs = new boolean[n];int[] ks = new int[n];for (int i = 0; i < n; i++) {rs[i] = sc.nextChar() == 'R';ks[i] = sc.nextPositiveInteger();}int x = 0;int y = 0;for (int i = n - 1; i >= 0; i--) {if (rs[i]) {if (ks[i] == y) {x--;if (x < 0)x = w - 1;}} else {if (ks[i] == x) {y--;if (y < 0)y = h - 1;}}}System.out.println((x + y) % 2 == 0 ? "white" : "black");}}class Scanner {private byte[] buf = new byte[8192000];private int size;private int idx;private InputStream is;public Scanner(InputStream is) {this.is = is;}private byte readByte() throws IOException {while (idx >= size) {size = is.read(buf);idx = 0;}return buf[idx++];}public int nextPositiveInteger() throws IOException {byte b = readByte();while (!('0' <= b && b <= '9')) {b = readByte();}int num = 0;do {num = num * 10 + (b - '0');b = readByte();} while ('0' <= b && b <= '9');return num;}public char nextChar() throws IOException {byte b = readByte();while (b == ' ' || b == '\n' || b == '\r') {b = readByte();}return (char) b;}}