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 |
39 ms |
13160 KB |
Output is correct |
2 |
Correct |
43 ms |
14556 KB |
Output is correct |
3 |
Correct |
34 ms |
14556 KB |
Output is correct |
4 |
Correct |
34 ms |
14556 KB |
Output is correct |
5 |
Correct |
37 ms |
14556 KB |
Output is correct |
6 |
Correct |
74 ms |
16608 KB |
Output is correct |
7 |
Correct |
49 ms |
16608 KB |
Output is correct |
8 |
Correct |
41 ms |
16608 KB |
Output is correct |
9 |
Correct |
570 ms |
21004 KB |
Output is correct |
10 |
Correct |
77 ms |
21004 KB |
Output is correct |