Submission #1205545

#TimeUsernameProblemLanguageResultExecution timeMemory
1205545ofozRed-blue table (IZhO19_stones)Pypy 3
11 / 100
207 ms63396 KiB
from collections import deque
from sys import setrecursionlimit

def solveOdd(n: int, m: int):
    grid = [[1] * m for _ in range(n)]
    for i in range(n-1, n):
        for j in range(m):
            grid[i][j] = 0
    
    for i in range(n-1):
        for j in range(m-1):
            if (i + j) & 1: grid[i][j] = 1
            else: grid[i][j] = 0

    res = n+m-2
    if n > m and m <= 2:
        grid = [[1] * m for _ in range(n)]
        res = n

    elif m > n and n <= 2:
        grid = [[0] * m for _ in range(n)]
        res = m

    return res, grid

def solveEven(n: int, m: int):
    grid = [[1] * m for _ in range(n)]
    for i in range(n-1, n):
        for j in range(m):
            grid[i][j] = 0
    d = m//2 - 1
    for i in range(n-1):
        for j in range(m-2):
            mod = (j) % (2*d)
            if mod < d: grid[i][j] = 1 if i % 2 == 0 else 0
            else: grid[i][j] = 0 if i % 2 == 0 else 1
    
    res = n+m-3
    if n > m and m <= 3:
        grid = [[1] * m for _ in range(n)]
        res = n
    elif m > n and n <= 3:
        grid = [[0] * m for _ in range(n)]
        res = m
    return (res, grid)
    

def solve():
    n, m = map(int, input().split(" "))
    if n & 1: res, grid = solveOdd(n, m)
    else: res, grid = solveEven(n, m)

    print(res)
    for i, row in enumerate(grid):
        for c in row:
            print(("-" if not c else "+"), end = "")
        print()
    


    


    



"""
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
-----------+++++++++++++
+++++++++++-----------++
------------------------
"""




for _ in range(int(input())): solve()

Compilation message (stdout)

Compiling 'stones.py'...

=======
  adding: __main__.pyc (deflated 58%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...