結果
問題 | No.1398 調和の魔法陣 (構築) |
ユーザー |
![]() |
提出日時 | 2021-02-19 22:18:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 82 ms / 3,153 ms |
コード長 | 1,008 bytes |
コンパイル時間 | 310 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 79,232 KB |
最終ジャッジ日時 | 2024-09-16 20:02:02 |
合計ジャッジ時間 | 28,799 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
d = {0:1,1:0,2:-1} w,h,x = map(int,input().split()) ans = [[0]*w for _ in range(h)] s = (2 if h%3==2 else 1)*(2 if w%3==2 else 1) if s*9 < x: print(-1) exit() a = x//s if s==1: for i in range(h): if i%3 != d[h%3]: continue for j in range(w): if j%3 != d[w%3]: continue ans[i][j] = a if s==2: V = x%2 if h%3==2: for i in range(h): if i%3 == 2: continue for j in range(w): if j%3 != d[w%3]: continue ans[i][j] = a + (i%3==0)*V else: for i in range(h): if i%3 != d[h%3]: continue for j in range(w): if j%3 == 2: continue ans[i][j] = a + (j%3==0)*V if s==4: d = {(0,0):0,(0,1):(x%4>=3),(1,0):(x%4>=2),(1,1):(x%4>=1)} for i in range(h): if i%3 == 2: continue for j in range(w): if j%3 == 2: continue ans[i][j] = a + d[i%3,j%3] for i in ans: print("".join(map(str,i)))