제출 #1205571

#제출 시각아이디문제언어결과실행 시간메모리
1205571ofozRed-blue table (IZhO19_stones)Pypy 3
11 / 100
2097 ms63248 KiB
from collections import deque
from sys import setrecursionlimit
from math import ceil


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-3, n):
        for j in range(m):
            grid[i][j] = 0
    i = 0
    j = 0
    cnt = 0
    while i < n-3:

        grid[i][j] = 0
        cnt += 1
        j += 1
        if cnt == m//2 - 1:
            cnt = 0
            i += 1

        if j == m:
            j = 0
    return (n + m - 3, grid)
        
    
prev = [-1, -1]
def solve():
    global prev
    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()
    


    


    



"""
5
+-++
----
----
----
"""




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

컴파일 시 표준 출력 (stdout) 메시지

Compiling 'stones.py'...

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

=======
#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...