QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#263743 | #5101. Crystal Crosswind | juampi | RE | 0ms | 0kb | Python3 | 1.3kb | 2023-11-25 05:32:34 | 2023-11-25 05:32:34 |
answer
def doit(x, y):
ch = g[y][x] if (1 <= x <= X and 1 <= y <= Y) else '.'
if not ch:
return
for i in range(N):
x2 = x + (wm[i] if ch == '.' else -wm[i])
y2 = y + (wn[i] if ch == '.' else -wn[i])
if 1 <= x2 <= X and 1 <= y2 <= Y and not g[y2][x2]:
g[y2][x2] = ch
doit(x2, y2)
while True:
try:
X, Y, N = map(int, input().split())
g = [['.' for _ in range(X + 1)] for _ in range(Y + 1)]
wm = wn = [0] * N
for i in range(N):
wm[i], wn[i], B = map(int, input().split())
for j in range(B):
x, y = map(int, input().split())
g[y][x] = '#'
x2, y2 = x - wm[i], y - wn[i]
if 1 <= x2 <= X and 1 <= y2 <= Y:
g[y2][x2] = '.'
for y in range(-Y, 2 * Y + 1):
for x in range(-X, 2 * X + 1):
doit(x, y)
for y in range(1, Y + 1):
for x in range(1, X + 1):
print(g[y][x] if g[y][x] else '.', end='')
print()
print()
for y in range(1, Y + 1):
for x in range(1, X + 1):
print(g[y][x] if g[y][x] else '#', end='')
print()
except EOFError:
break
详细
Test #1:
score: 0
Dangerous Syscalls
input:
4 1 1 0 1 2 1 1 3 1