답안 #83468

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
83468 2018-11-08T07:37:53 Z charlies_moo Spirale (COCI18_spirale) Python 2
72 / 80
1000 ms 3272 KB
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()
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 2936 KB Output is correct
2 Correct 15 ms 2944 KB Output is correct
3 Correct 20 ms 2984 KB Output is correct
4 Correct 14 ms 3048 KB Output is correct
5 Correct 14 ms 3052 KB Output is correct
6 Correct 21 ms 3100 KB Output is correct
7 Correct 15 ms 3104 KB Output is correct
8 Correct 15 ms 3236 KB Output is correct
9 Execution timed out 1081 ms 3256 KB Time limit exceeded
10 Correct 26 ms 3272 KB Output is correct