結果
| 問題 | No.3734 No Flat Notes |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-19 17:49:34 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 2,262 bytes |
| 記録 | |
| コンパイル時間 | 82 ms |
| コンパイル使用メモリ | 82,276 KB |
| 実行使用メモリ | 97,276 KB |
| 最終ジャッジ日時 | 2026-09-19 17:50:36 |
| 合計ジャッジ時間 | 59,203 ms |
|
ジャッジサーバーID (参考情報) |
judge5_1 / judge2_1 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点 | 20 % | AC * 11 WA * 17 |
| 満点 | 80 % | AC * 35 WA * 25 |
| 合計 | 3.5 * 0% = 0 点 |
ソースコード
h,w,k=map(int,input().split())
if h==2 and w==2:
if k==2:
print(1,4)
print(2,3)
elif k==1:
print(1,2)
print(3,4)
import time
start=time.time()
if k==0:
print(-1)
exit()
import random
X=[]
for i in range(h):
I=list(range(i*w+1,i*w+w+1))
X.append(I)
for i in range(h):
for j in range(w):
if X[i][j]%2==0:
X[i][j]=(h*w)//2*2+2-X[i][j]
V4=[(1,0),(-1,0),(0,1),(0,-1)]
V5=[(1,0),(-1,0),(0,1),(0,-1),(0,0)]
def cha(x,y):
fg=True
for V in V4:
if 0<=x+V[0]<h and 0<=y+V[1]<w:
if X[x+V[0]][y+V[1]]<X[x][y]:
fg=False
return fg
def chb(x,y):
fg=True
for V in V4:
if 0<=x+V[0]<h and 0<=y+V[1]<w:
if X[x+V[0]][y+V[1]]>X[x][y]:
fg=False
return fg
a=0
b=0
for i in range(h):
for j in range(w):
if cha(i,j):
a+=1
if chb(i,j):
b+=1
while a!=k or b!=k:
if time.time()-start>1.9:
break
x1,y1=random.randint(0,h-1),random.randint(0,w-1)
x2,y2=random.randint(0,h-1),random.randint(0,w-1)
if abs(x1-x2)+abs(y1-y2)<=1:
continue
prea,preb=a,b
for V in V5:
if 0<=x1+V[0]<h and 0<=y1+V[1]<w:
if cha(x1+V[0],y1+V[1]):
a-=1
if 0<=x1+V[0]<h and 0<=y1+V[1]<w:
if chb(x1+V[0],y1+V[1]):
b-=1
if 0<=x2+V[0]<h and 0<=y2+V[1]<w:
if cha(x2+V[0],y2+V[1]):
a-=1
if 0<=x2+V[0]<h and 0<=y2+V[1]<w:
if chb(x2+V[0],y2+V[1]):
b-=1
X[x1][y1],X[x2][y2]=X[x2][y2],X[x1][y1]
for V in V5:
if 0<=x1+V[0]<h and 0<=y1+V[1]<w:
if cha(x1+V[0],y1+V[1]):
a+=1
if 0<=x1+V[0]<h and 0<=y1+V[1]<w:
if chb(x1+V[0],y1+V[1]):
b+=1
if 0<=x2+V[0]<h and 0<=y2+V[1]<w:
if cha(x2+V[0],y2+V[1]):
a+=1
if 0<=x2+V[0]<h and 0<=y2+V[1]<w:
if chb(x2+V[0],y2+V[1]):
b+=1
if abs(prea-k)+abs(preb-k)<abs(a-k)+abs(b-k):
X[x1][y1],X[x2][y2]=X[x2][y2],X[x1][y1]
a=prea
b=preb
if a!=k or b!=k:
print(-1)
exit()
for I in X:
print(*I)