Submission details
Task:Distinct sums
Sender:Very Competitive Programmers
Submission time:2025-11-08 16:02:02 +0200
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#70.04 sdetails
#8ACCEPTED0.04 sdetails
#90.04 sdetails
#100.04 sdetails
#11ACCEPTED0.04 sdetails
#120.04 sdetails
#13ACCEPTED0.04 sdetails

Code

def square(n):
    if n==2:
        return [[1,2],[0,0]]
    if n%2 == 1:
        return False
    sub = square(n // 2)
    if sub == False:
        return False
    arr = [[0 for i in range(n)] for i in range(n)]
    for i in range(n//2):
        arr[i][:n//2] = sub[i]
        arr[i+n//2][n//2:] = sub[i]
        arr[i+n//2][:n//2] = [2] * (n // 2)
    return arr

n = int(input())
arr = square(n)
if arr:
    print("YES")
    print("\n".join(" ".join(str(x) for x in row) for row in arr))
else:
    print("IMPOSSIBLE")
#for i in range(n):
#    print(sum(arr[i][j] for j in range(n)))
#    print(sum(arr[j][i] for j in range(n)))

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 2

Verdict: ACCEPTED

input
2

correct output
YES
0 1 
0 2 

user output
YES
1 2
0 0

Test 3

Verdict: ACCEPTED

input
3

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 4

Verdict: ACCEPTED

input
4

correct output
YES
0 1 0 0 
0 2 2 2 
0 2 0 1 
0 2 0 2 

user output
YES
1 2 0 0
0 0 0 0
2 2 1 2
2 2 0 0

Test 5

Verdict: ACCEPTED

input
5

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 6

Verdict: ACCEPTED

input
657

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 7

Verdict:

input
132

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
IMPOSSIBLE

Test 8

Verdict: ACCEPTED

input
765

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 9

Verdict:

input
838

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
IMPOSSIBLE

Test 10

Verdict:

input
996

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
IMPOSSIBLE

Test 11

Verdict: ACCEPTED

input
997

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 12

Verdict:

input
998

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
IMPOSSIBLE

Test 13

Verdict: ACCEPTED

input
999

correct output
IMPOSSIBLE

user output
IMPOSSIBLE