Submission #9110398


Source Code Expand

import heapq
que = []
N = 30
A = [list(map(int, input().split())) for _ in range(N)]
for i in range(N):
    for j in range(N):
        heapq.heappush(que, (-A[i][j], i, j))
dire = [(0, 1), (1, 0), (0, -1), (-1, 0)]
def search(a, x, y):
    if a == 0:
        return
    for dx, dy in dire:
        if 0<=x+dx<N and 0<=y+dy<N:
            if A[x+dx][y+dy] == a:
                print(x+dx+1, y+dy+1)
                A[x+dx][y+dy]-=1
                search(a-1, x+dx, y+dy)
                return
    return

while que:
    a, i, j = heapq.heappop(que)
    a = -a
    if A[i][j] != a:
        if A[i][j]>0:
            heapq.heappush(que, (-A[i][j], i, j))
        continue
    print(i+1, j+1)
    a-=1
    A[i][j]-=1
    search(a, i, j)
    if a>0:
        heapq.heappush(que, (-a, i, j))


Submission Info

Submission Time
Task A - 高橋君の山崩しゲーム
User masayoshi64
Language PyPy3 (2.4.0)
Score 790879
Code Size 825 Byte
Status AC
Exec Time 721 ms
Memory 85592 KB

Judge Result

Set Name test_01 test_02 test_03 test_04 test_05 test_06 test_07 test_08 test_09 test_10
Score / Max Score 79245 / 100000 78571 / 100000 79411 / 100000 78219 / 100000 78967 / 100000 79288 / 100000 79285 / 100000 79436 / 100000 79181 / 100000 79276 / 100000
Status
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
Set Name Test Cases
test_01 subtask_01_01.txt
test_02 subtask_01_02.txt
test_03 subtask_01_03.txt
test_04 subtask_01_04.txt
test_05 subtask_01_05.txt
test_06 subtask_01_06.txt
test_07 subtask_01_07.txt
test_08 subtask_01_08.txt
test_09 subtask_01_09.txt
test_10 subtask_01_10.txt
Case Name Status Exec Time Memory
subtask_01_01.txt AC 704 ms 81496 KB
subtask_01_02.txt AC 693 ms 78680 KB
subtask_01_03.txt AC 684 ms 79068 KB
subtask_01_04.txt AC 721 ms 85592 KB
subtask_01_05.txt AC 624 ms 74328 KB
subtask_01_06.txt AC 684 ms 81880 KB
subtask_01_07.txt AC 686 ms 78040 KB
subtask_01_08.txt AC 665 ms 79448 KB
subtask_01_09.txt AC 706 ms 82264 KB
subtask_01_10.txt AC 707 ms 82520 KB