結果
問題 |
No.697 池の数はいくつか
|
ユーザー |
|
提出日時 | 2019-08-12 11:23:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,195 ms / 6,000 ms |
コード長 | 664 bytes |
コンパイル時間 | 346 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 253,952 KB |
最終ジャッジ日時 | 2024-11-08 08:20:04 |
合計ジャッジ時間 | 13,964 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
from collections import deque def bfs(sx, sy): S[sx][sy] = 0 queue = deque([]) queue.append((sx, sy)) while len(queue) > 0: cx, cy = queue.popleft() for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]: nx, ny = cx + dx, cy + dy if 0 <= nx < H and 0 <= ny < W: if S[nx][ny] == 1: S[nx][ny] = 0 queue.append((nx, ny)) H, W = map(int, input().split()) S = [list(map(int, input().split())) for _ in range(H)] ans = 0 for i in range(H): for j in range(W): if S[i][j] == 1: bfs(i, j) ans += 1 print(ans)