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 |