結果
問題 | No.351 市松スライドパズル |
ユーザー |
![]() |
提出日時 | 2019-06-08 21:55:08 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 36 ms / 2,000 ms |
コード長 | 692 bytes |
コンパイル時間 | 144 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 9,432 KB |
最終ジャッジ日時 | 2024-10-05 23:54:40 |
合計ジャッジ時間 | 1,702 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
コンパイルメッセージ
main.c: In function 'in': main.c:7:14: warning: implicit declaration of function 'getchar_unlocked' [-Wimplicit-function-declaration] 7 | #define gc() getchar_unlocked() | ^~~~~~~~~~~~~~~~ main.c:14:24: note: in expansion of macro 'gc' 14 | int n = 0, c = gc(); | ^~
ソースコード
// yukicoder: 351 市松スライドパズル // 2019.6.8 bal4u #include <stdio.h> #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif int in() // 非負整数の入力 { int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } int row[1000005], no[1000005]; int main() { int i, N, H, W, r, c; H = in(), W = in(), N = in(); i = N; while (i--) { row[i] = gc() & 1, gc(); // 'R'=0x52, 'C'=0x43 no[i] = in(); } r = c = 0; for (i = 0; i < N; i++) { if (row[i]) { if (no[i] == c) { if (--r < 0) r = H-1; } } else { if (no[i] == r) { if (--c < 0) c = W-1; } } } puts((r+c) & 1? "black": "white"); return 0; }