結果
問題 |
No.697 池の数はいくつか
|
ユーザー |
|
提出日時 | 2018-06-18 11:40:06 |
言語 | cLay (20241019-1) |
結果 |
MLE
|
実行時間 | - |
コード長 | 591 bytes |
コンパイル時間 | 2,465 ms |
コンパイル使用メモリ | 177,048 KB |
実行使用メモリ | 696,236 KB |
最終ジャッジ日時 | 2024-11-25 13:41:41 |
合計ジャッジ時間 | 6,696 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 MLE * 2 |
ソースコード
int H,W; int iso = 0; int A[3002][3002]; void dfs(int y, int x){ if (A[y][x] == 0) return; A[y][x] = 0; --iso; if ((y^x)&3 == 0) {dfs(y, x-1);dfs(y, x+1);dfs(y-1, x);dfs(y+1, x);} else if ((y^x)&3 == 1) {dfs(y, x+1);dfs(y, x-1);dfs(y+1, x);dfs(y-1, x);} else if ((y^x)&3 == 2) {dfs(y-1, x);dfs(y+1, x);dfs(y, x-1);dfs(y, x+1);} else {dfs(y+1, x);dfs(y-1, x);dfs(y, x+1);dfs(y, x-1);} } { rd(H,W); REP(y,1,H+1) REP(x,1,W+1) rd(A[y][x]), iso += A[y][x]; REP(y,1,H+1) REP(x,1,W+1) if (A[y][x] == 1){ ++iso; dfs(y,x); } wt(iso); }