Submission #1205752

#TimeUsernameProblemLanguageResultExecution timeMemory
1205752ofozRed-blue table (IZhO19_stones)Pypy 3
15 / 100
406 ms64008 KiB
from collections import deque
from sys import setrecursionlimit
import heapq

def score(grid):
    n = len(grid)
    m = len(grid[0])
    res = 0
    for i in range(n):
        cnt = 0
        for j in range(m):
            cnt += (grid[i][j] == 1)
        res += cnt > m//2
    
    for j in range(m):
        cnt = 0
        for i in range(n):
            cnt += (grid[i][j] == 0)
        res += cnt > n//2
    return res



def solve():
    n, m = map(int, input().split(" "))
    grid = [[1] * m for _ in range(n)]

    q = []
    for i in range(n): heapq.heappush(q, (0, i))
    j = 0
    cur = 0
    res = n
    while j < m:
        cnt, i = heapq.heappop(q)
        if cnt >= (m-1)//2: break
        grid[i][j] = 0
        heapq.heappush(q, (cnt+1, i))
        cur += 1
        if cur > n//2:
            cur = 0
            j += 1
            res += 1

    if (n & 1): d = 2
    else: d = 3
    if n >= m and n >= res:
        grid = [[1] * m for _ in range(n)]
        res = n

    if m >= n and m >= res:
        grid = [[0] * m for _ in range(n)] 
        res = m
    print(res)
    for row in grid:
        for c in row:
            print("+" if c else "-", end = "")
        print()
    


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




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

Compilation message (stdout)

Compiling 'stones.py'...

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

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