結果
問題 | No.1434 Make Maze |
ユーザー | titia |
提出日時 | 2021-03-19 23:28:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 279 ms / 2,000 ms |
コード長 | 1,590 bytes |
コンパイル時間 | 408 ms |
コンパイル使用メモリ | 82,588 KB |
実行使用メモリ | 106,428 KB |
最終ジャッジ日時 | 2024-11-24 21:41:24 |
合計ジャッジ時間 | 7,025 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
import sysinput = sys.stdin.readlineH,W,X=map(int,input().split())ANS=[["."]*W for i in range(H)]k=H-1+W-1if X<k or (X-k)%4!=0:print(-1)exit()for i in range(H):for j in range(W):if i%2==1 and j%2==1:ANS[i][j]="#"for i in range(H):ANS[i][0]=0for j in range(W):ANS[-1][j]=0NOWX=1NOWY=0while k<X:if NOWX+2<H and NOWY+1<W:k+=4ANS[NOWX][NOWY]="."for i,j in [(NOWX-1,NOWY+1),(NOWX-1,NOWY+2),(NOWX,NOWY+2),(NOWX+1,NOWY+1),(NOWX+1,NOWY+2)]:ANS[i][j]=0NOWY+=2elif NOWY+1==W:NOWX+=4NOWY=0else:breakif k<X and H%4==3:NOWX=H-1NOWY=3while k<X:if NOWY+1<W:k+=4ANS[NOWX][NOWY]="."for i,j in [(NOWX-1,NOWY-1),(NOWX-1,NOWY+1),(NOWX-2,NOWY-1),(NOWX-2,NOWY),(NOWX-2,NOWY+1)]:ANS[i][j]=0NOWY+=4else:breakif k!=X:print(-1)exit()for i in range(H):for j in range(W):if ANS[i][j]==".":flag=0for z,w in [(i-1,j),(i+1,j),(i,j-1),(i,j+1)]:if 0<=z<H and 0<=w<W and ANS[z][w]==0:ANS[i][j]="#"for j in range(W):if j%2==0 and ANS[H-3][j]==".":ANS[H-2][j]="."for j in range(W):for i in range(H-2,-1,-1):if ANS[i][j]=="." and ANS[i+1][j]=="#":ANS[i][j]="#"for i in range(H):for j in range(W):if ANS[i][j]==0:ANS[i][j]="."for ans in ANS:print("".join(ans))