結果
問題 | No.307 最近色塗る問題多くない? |
ユーザー |
![]() |
提出日時 | 2025-03-20 20:30:40 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,323 bytes |
コンパイル時間 | 144 ms |
コンパイル使用メモリ | 82,188 KB |
実行使用メモリ | 85,568 KB |
最終ジャッジ日時 | 2025-03-20 20:31:38 |
合計ジャッジ時間 | 8,555 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 8 TLE * 1 -- * 27 |
ソースコード
import sys from collections import deque def main(): input = sys.stdin.read().split() idx = 0 H = int(input[idx]); idx += 1 W = int(input[idx]); idx += 1 grid = [] for _ in range(H): row = list(map(int, input[idx:idx + W])) idx += W grid.append(row) Q = int(input[idx]); idx += 1 queries = [] for _ in range(Q): R = int(input[idx]) - 1; idx += 1 C = int(input[idx]) - 1; idx += 1 X = int(input[idx]); idx += 1 queries.append((R, C, X)) for R, C, X in queries: if R < 0 or R >= H or C < 0 or C >= W: continue # invalid query, but problem statement says queries are valid current_color = grid[R][C] if current_color == X: continue queue = deque() queue.append((R, C)) grid[R][C] = X while queue: r, c = queue.popleft() for dr, dc in [(-1, 0), (1, 0), (0, -1), (0, 1)]: nr = r + dr nc = c + dc if 0 <= nr < H and 0 <= nc < W: if grid[nr][nc] == current_color: grid[nr][nc] = X queue.append((nr, nc)) for row in grid: print(' '.join(map(str, row))) if __name__ == '__main__': main()