| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1239728 | 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()
