제출 #83469

#제출 시각아이디문제언어결과실행 시간메모리
83469charlies_mooSpirale (COCI18_spirale)Pypy 2
80 / 80
570 ms21004 KiB
n, m, k = map(int, raw_input().split())
s = max(m,n)
inf = (s*2)**3+s
arr = [[inf for i in range(m+2)] for i in range(n+2)]


def print_arr():
    for i in range(1, n+1):
        for j in range(1, m+1):
            print arr[i][j],
        print



def spiral(x, y, d):
    if d == 0:
        d = 1
    else:
        d = -1
    num = 1
    arr[x][y] = num
    times = 1
    length = 1
    t = -1
    while times < n * m:
        for i in range(1,length+1):
            num += 1
            x += t
            if x <= 0 or x >= n + 1 or y <= 0 or y >= m + 1:
                continue
            if num < arr[x][y]:
                arr[x][y] = num
            times += 1
        t = 0 - t
        for i in range(1,length+1):
            num += 1
            y += t*d
            if x <= 0 or x >= n + 1 or y <= 0 or y >= m + 1:
                continue
            if num < arr[x][y]:
                arr[x][y] = num
            times += 1
        length += 1


for i in range(k):
    x, y, k = map(int, raw_input().split())
    spiral(x, y, k)
print_arr()
#Verdict Execution timeMemoryGrader output
Fetching results...