def show(g):
return '\n'.join(''.join(x) for x in g) +'\n\n'
def solve(m, n, k):
g = [["#"] * (m + 2) ] + [list(f"#{' ' * m}#") for _ in range(n)] + [["#"] * (m + 2)]
if m == 1:
x, y = 0, 1
dx = 1
r = 0
while r < k:
u, v = x + dx, y
if u in (0, n + 1):
dx *= -1
else:
if g[u][v] == ' ':
g[u][v] = '1'
elif g[u][v].isdigit():
g[u][v] = str(int(g[u][v]) + 1)
x, y = u, v
r += 1
print(show(g))
print(u, v)
elif n == 1:
x, y = 1, 0
dy = 1
r = 0
while r < k:
u, v = x, y + dy
if v in (0, m + 1):
dy *= -1
else:
if g[u][v] == ' ':
g[u][v] = '1'
elif g[u][v].isdigit():
g[u][v] = str(int(g[u][v]) + 1)
x, y = u, v
r += 1
print(x, y)
print(show(g))
else:
x, y = 0, 0
dx, dy = (1, 1)
r = 0
while r < k:
u, v = x + dx, y + dy
if (u, v) in ((0, 0), (0, m + 1), (n + 1, 0), (n + 1, m + 1)):
dx, dy = -dx, -dy
r += 1
elif v in (0, m + 1):
dy *= -1
r += 1
elif u in (0, n + 1):
dx *= -1
r += 1
else:
if g[u][v] == ' ':
g[u][v] = '1'
elif g[u][v].isdigit():
g[u][v] = str(int(g[u][v]) + 1)
x, y = u, v
print(u, v)
print(show(g))
return '\n'.join(''.join(x) for x in g)
print(solve(11,1,14))
To embed this program on your website, copy the following code and paste it into your website's HTML: