Submission #70054569
Source Code Expand
from collections import deque
h, w = map(int, input().split())
s = [list(input().strip()) for _ in range(h)]
for i in range(h):
for j in range(w):
if s[i][j] == 'T':
t = (i, j)
init = {(i, j) for i in range(h) for j in range(w) if s[i][j] == '#'}
dirs = [(-1,0),(1,0),(0,-1),(0,1)]
visited = set([frozenset(init)])
q = deque([(init, 0)])
while q:
cur, d = q.popleft()
for dr, dc in dirs:
new = set()
dirty = False
for r, c in cur:
nr, nc = r + dr, c + dc
if 0 <= nr < h and 0 <= nc < w:
if (nr, nc) == t:
dirty = True
break
new.add((nr, nc))
if dirty:
continue
if not new:
print(d + 1)
exit()
fs = frozenset(new)
if fs not in visited:
visited.add(fs)
q.append((new, d + 1))
print(-1)
Submission Info
| Submission Time | |
|---|---|
| Task | E - Wind Cleaning |
| User | uparupaaa |
| Language | Python (PyPy 3.10-v7.3.12) |
| Score | 500 |
| Code Size | 841 Byte |
| Status | AC |
| Exec Time | 132 ms |
| Memory | 92952 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample00.txt | AC | 66 ms | 77104 KiB |
| sample01.txt | AC | 67 ms | 76876 KiB |
| sample02.txt | AC | 68 ms | 76868 KiB |
| testcase00.txt | AC | 68 ms | 76896 KiB |
| testcase01.txt | AC | 68 ms | 76932 KiB |
| testcase02.txt | AC | 68 ms | 76616 KiB |
| testcase03.txt | AC | 67 ms | 77204 KiB |
| testcase04.txt | AC | 83 ms | 83668 KiB |
| testcase05.txt | AC | 77 ms | 81916 KiB |
| testcase06.txt | AC | 68 ms | 76916 KiB |
| testcase07.txt | AC | 68 ms | 76816 KiB |
| testcase08.txt | AC | 67 ms | 77112 KiB |
| testcase09.txt | AC | 108 ms | 88360 KiB |
| testcase10.txt | AC | 132 ms | 91912 KiB |
| testcase11.txt | AC | 85 ms | 83824 KiB |
| testcase12.txt | AC | 97 ms | 84136 KiB |
| testcase13.txt | AC | 72 ms | 81944 KiB |
| testcase14.txt | AC | 87 ms | 83740 KiB |
| testcase15.txt | AC | 93 ms | 84024 KiB |
| testcase16.txt | AC | 82 ms | 83824 KiB |
| testcase17.txt | AC | 105 ms | 87132 KiB |
| testcase18.txt | AC | 101 ms | 84032 KiB |
| testcase19.txt | AC | 67 ms | 76724 KiB |
| testcase20.txt | AC | 67 ms | 76816 KiB |
| testcase21.txt | AC | 73 ms | 81724 KiB |
| testcase22.txt | AC | 66 ms | 76868 KiB |
| testcase23.txt | AC | 126 ms | 88052 KiB |
| testcase24.txt | AC | 72 ms | 81784 KiB |
| testcase25.txt | AC | 77 ms | 82332 KiB |
| testcase26.txt | AC | 92 ms | 83992 KiB |
| testcase27.txt | AC | 90 ms | 84116 KiB |
| testcase28.txt | AC | 100 ms | 84072 KiB |
| testcase29.txt | AC | 92 ms | 84328 KiB |
| testcase30.txt | AC | 68 ms | 77044 KiB |
| testcase31.txt | AC | 73 ms | 81584 KiB |
| testcase32.txt | AC | 130 ms | 92560 KiB |
| testcase33.txt | AC | 87 ms | 83888 KiB |
| testcase34.txt | AC | 68 ms | 77068 KiB |
| testcase35.txt | AC | 68 ms | 77008 KiB |
| testcase36.txt | AC | 109 ms | 87916 KiB |
| testcase37.txt | AC | 72 ms | 82004 KiB |
| testcase38.txt | AC | 130 ms | 92952 KiB |
| testcase39.txt | AC | 82 ms | 83520 KiB |