# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1239726 | woe | Light Bulbs (EGOI24_lightbulbs) | C++20 | 0 ms | 0 KiB |
import sys
def flush():
sys.stdout.flush()
def ask(grid):
print("?")
for row in grid:
print("".join(row))
flush()
return int(input())
def main():
N = int(input())
lamp_types = [None] * N
base_grid = [["0"] * N for _ in range(N)]
for i in range(N):
grid = [row[:] for row in base_grid]
for j in range(N):
grid[i][j] = "1"
covered = ask(grid)
if covered == N:
lamp_types[i] = 'H'
elif covered == N:
lamp_types[i] = 'V'
else:
lamp_types[i] = 'unknown'
final_grid = [["0"] * N for _ in range(N)]
for i in range(N):
if lamp_types[i] == 'H':
final_grid[i] = ["1"] * N
elif lamp_types[i] == 'V':
for j in range(N):
final_grid[j][i] = "1"
print("!")
for row in final_grid:
print("".join(row))
flush()
main()