結果

問題 No.3727 Garden Master
コンテスト
ユーザー だれおん
提出日時 2026-09-19 14:22:03
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 107 ms / 2,000 ms
+ 188µs
コード長 1,014 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 77 ms
コンパイル使用メモリ 82,492 KB
実行使用メモリ 95,692 KB
最終ジャッジ日時 2026-09-19 14:22:10
合計ジャッジ時間 4,312 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

N=int(input()) 
from collections import deque
L={}
ansr=[[-1]*N for i in range(N)] 
ansb=[[-1]*N for i in range(N)] 
for i in range(1,N+1):
    for j in range(1,N+1):
        if i-j not in L:
            L[i-j]=deque()
        L[i-j].append((i,j))
def f(i,j):
    a=ansr[i-1][j]-ansb[i-1][j]
    b=ansr[i][j+1]-ansb[i][j+1]
    c=ansr[i-1][j+1]-ansb[i-1][j+1]
    d=0-(a+b+c)
    r,b=L[d].popleft()
    ansr[i][j]=r
    ansb[i][j]=b
    ri,rj=j,i
    rr,rb=L[-d].popleft()
    ansr[ri][rj]=rr
    ansb[ri][rj]=rb
for i in range(N):
    for j in range(N-i):
        if i==0:
            r,b=L[0].popleft()
            ansr[j][j]=r
            ansb[j][j]=b
        elif i==1:
            d=N-1-j
            if (i+j)%2==1:
                d=-d
            r,b=L[d].popleft()
            ansr[i+j][j]=r
            ansb[i+j][j]=b
            rr,bb=L[-d].popleft()
            ansr[j][i+j]=rr
            ansb[j][i+j]=bb
        else:
            f(i+j,j)
for i in ansr:
    print(*i)
for i in ansb:
    print(*i)




0