# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
83470 | charlies_moo | Spirale (COCI18_spirale) | Pypy 2 | 1092 ms | 11664 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
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:
i = 1
while i <= length:
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
i += 1
t = 0 - t
i = 1
while i <= length:
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
i += 1
length += 1
for i in range(k):
x, y, k = map(int, raw_input().split())
spiral(x, y, k)
print_arr()
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |