結果
| 問題 | 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 sys
input = sys.stdin.readline
H,W,X=map(int,input().split())
ANS=[["."]*W for i in range(H)]
k=H-1+W-1
if 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]=0
for j in range(W):
    ANS[-1][j]=0
NOWX=1
NOWY=0
while k<X:
    if NOWX+2<H and NOWY+1<W:
        k+=4
        ANS[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]=0
        NOWY+=2
    elif NOWY+1==W:
        NOWX+=4
        NOWY=0
    else:
        break
if k<X and H%4==3:
    NOWX=H-1
    NOWY=3
    while k<X:
        if NOWY+1<W:
            k+=4
            ANS[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]=0
            NOWY+=4
        else:
            break
if k!=X:
    print(-1)
    exit()
for i in range(H):
    for j in range(W):
        if ANS[i][j]==".":
            flag=0
            for 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))
            
            
            
        