QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#263840 | #5101. Crystal Crosswind | juampi | RE | 0ms | 0kb | Python3 | 1.6kb | 2023-11-25 08:52:28 | 2023-11-25 08:52:28 |
answer
def doit(x, y):
ch = g[y][x] if (1 <= x <= X and 1 <= y <= Y) else '.'
if ch is None:
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:
print(g[y2][x2])
if g[y2][x2] is None:
g[y2][x2] = ch
doit(x2, y2)
def main():
while True:
global X, Y, N, g, wm, wn
X, Y, N = map(int, input().split())
g = [[None for _ in range(X + 1)] for _ in range(Y + 1)]
wm = wn = [0] * N
i = 0
for i in range(N):
line = input().split()
wm[i] = int(line[0])
wn[i] = int(line[1])
B = int(line[2])
pos = 3
j = 0
for j in range(B):
x = int(line[pos])
pos = pos + 1
y = int(line[pos])
pos = pos + 1
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()
main()
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Dangerous Syscalls
input:
4 1 1 0 1 2 1 1 3 1
output:
# None # None #.#. #.#.