Submission #52162753


Source Code Expand

from queue import PriorityQueue

n, m = map(int, input().split())
grid = [input() for _ in range(n)]

med = [[0]*m for _ in range(n)]
vis = [[False]*m for _ in range(n)]

for _ in range(int(input())):
    r, c, e = map(int, input().split())
    med[r-1][c-1] = e

sti, stj = next((i, j) for i in range(n) for j in range(m) if grid[i][j] == 'S')

q = PriorityQueue()
q.put((-med[sti][stj], sti, stj))

while not q.empty():
    cm, ci, cj = q.get()
    cm *= -1
    
    if grid[ci][cj] == 'T':
        print('Yes')
        exit()

    if cm == 0 or vis[ci][cj] or grid[ci][cj] == '#':
        continue

    vis[ci][cj] = True

    for ii, ij in [(1,0), (0,1), (-1, 0), (0, -1)]:
        ni, nj = ci + ii, cj + ij
        if not (0 <= ni < n and 0 <= nj < m):
            continue
        if med[ni][nj] >= cm - 1:
            q.put((-med[ni][nj], ni, nj))
            med[ni][nj] = 0
            vis = [[False]*m for _ in range(n)]
        else:
            q.put((-(cm - 1), ni, nj))

print('No')

Submission Info

Submission Time
Task D - Medicines on Grid
User Pablo1Gustavo
Language Python (PyPy 3.10-v7.3.12)
Score 425
Code Size 1039 Byte
Status AC
Exec Time 1275 ms
Memory 123960 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 425 / 425
Status
AC × 3
AC × 53
Set Name Test Cases
Sample example0.txt, example1.txt, example2.txt
All example0.txt, example1.txt, example2.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt
Case Name Status Exec Time Memory
example0.txt AC 126 ms 86308 KiB
example1.txt AC 126 ms 86296 KiB
example2.txt AC 126 ms 86172 KiB
test_00.txt AC 351 ms 94456 KiB
test_01.txt AC 216 ms 91736 KiB
test_02.txt AC 133 ms 86776 KiB
test_03.txt AC 708 ms 102412 KiB
test_04.txt AC 201 ms 90836 KiB
test_05.txt AC 215 ms 91444 KiB
test_06.txt AC 484 ms 97900 KiB
test_07.txt AC 382 ms 94624 KiB
test_08.txt AC 1275 ms 113684 KiB
test_09.txt AC 147 ms 89224 KiB
test_10.txt AC 277 ms 93760 KiB
test_11.txt AC 382 ms 93456 KiB
test_12.txt AC 415 ms 95172 KiB
test_13.txt AC 180 ms 90680 KiB
test_14.txt AC 157 ms 90028 KiB
test_15.txt AC 237 ms 91836 KiB
test_16.txt AC 250 ms 91832 KiB
test_17.txt AC 411 ms 95476 KiB
test_18.txt AC 1071 ms 123960 KiB
test_19.txt AC 234 ms 91772 KiB
test_20.txt AC 175 ms 90616 KiB
test_21.txt AC 563 ms 98040 KiB
test_22.txt AC 375 ms 95716 KiB
test_23.txt AC 226 ms 90996 KiB
test_24.txt AC 281 ms 91776 KiB
test_25.txt AC 359 ms 92100 KiB
test_26.txt AC 610 ms 96440 KiB
test_27.txt AC 221 ms 91116 KiB
test_28.txt AC 205 ms 91264 KiB
test_29.txt AC 268 ms 91716 KiB
test_30.txt AC 541 ms 101432 KiB
test_31.txt AC 258 ms 91448 KiB
test_32.txt AC 127 ms 86216 KiB
test_33.txt AC 128 ms 86456 KiB
test_34.txt AC 128 ms 86332 KiB
test_35.txt AC 129 ms 86484 KiB
test_36.txt AC 130 ms 86596 KiB
test_37.txt AC 297 ms 91628 KiB
test_38.txt AC 292 ms 91192 KiB
test_39.txt AC 292 ms 91688 KiB
test_40.txt AC 287 ms 91116 KiB
test_41.txt AC 297 ms 91512 KiB
test_42.txt AC 294 ms 91204 KiB
test_43.txt AC 291 ms 91596 KiB
test_44.txt AC 286 ms 91044 KiB
test_45.txt AC 295 ms 91620 KiB
test_46.txt AC 293 ms 91352 KiB
test_47.txt AC 291 ms 91620 KiB
test_48.txt AC 285 ms 90864 KiB
test_49.txt AC 125 ms 86160 KiB