結果
| 問題 |
No.1398 調和の魔法陣 (構築)
|
| コンテスト | |
| ユーザー |
ytoki28
|
| 提出日時 | 2021-02-19 22:55:31 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,946 bytes |
| コンパイル時間 | 139 ms |
| コンパイル使用メモリ | 13,184 KB |
| 実行使用メモリ | 47,140 KB |
| 最終ジャッジ日時 | 2024-09-16 21:38:30 |
| 合計ジャッジ時間 | 38,703 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 28 |
ソースコード
import sys
import numpy as np
readline = sys.stdin.readline
read = sys.stdin.read
w, h, x = map(int, readline().split())
if w == 1:
if x <= 9:
ans = np.zeros(h, dtype=np.int64)
ans[::2] = x
print('\n'.join(map(str, ans.tolist())))
sys.exit()
if x <= 18 and h % 3 == 2:
ans = np.zeros(h, dtype=np.int64)
ans[::3] = 9
ans[1::3] = x-9
print('\n'.join(map(str, ans.tolist())))
sys.exit()
print(-1)
sys.exit()
if h == 1:
if x <= 9:
ans = np.zeros(w, dtype=np.int64)
ans[::2] = x
print(''.join(map(str, ans.tolist())))
sys.exit()
if x <= 18 and w % 3 == 2:
ans = np.zeros(w, dtype=np.int64)
ans[::3] = 9
ans[1::3] = x-9
print(''.join(map(str, ans.tolist())))
sys.exit()
print(-1)
sys.exit()
if w == 2:
if x <= 18:
ans = np.zeros((h,w), dtype=np.int64)
ans[::2,0] = min(x,9)
ans[::2,1] = x - min(x,9)
ans = ans.tolist()
for l in ans:
print(''.join(map(str, l)))
sys.exit()
if x <= 36 and h % 3 == 2:
ans = np.zeros((h,w), dtype=np.int64)
ans[::3] = 9
ans[1::3,0] = min(x-18,9)
ans[1::3,1] = x - 18 - min(x-18,9)
for l in ans:
print(''.join(map(str, l)))
sys.exit()
print(-1)
sys.exit()
if h == 2:
if x <= 18:
ans = np.zeros((h,w), dtype=np.int64)
ans[0,::2] = min(x,9)
ans[1,::2] = x - min(x,9)
ans = ans.tolist()
for l in ans:
print(''.join(map(str, l)))
sys.exit()
if x <= 36 and w % 3 == 2:
ans = np.zeros((h,w), dtype=np.int64)
ans[:,::3] = 9
ans[0,1::3] = min(x-18,9)
ans[1,1::3] = x - 18 - min(x-18,9)
for l in ans:
print(''.join(map(str, l)))
sys.exit()
print(-1)
sys.exit()
if x <= 9:
ans = np.zeros((h,w), dtype=np.int64)
f = [1,0,0]
ans[f[h%3]::3,f[w%3]::3] = x
for l in ans:
print(''.join(map(str, l)))
sys.exit()
if x <= 18:
if w % 3 == 2:
ans = np.zeros((h,w), dtype=np.int64)
f = [1,0,0]
ans[f[h%3]::3,::3] = 9
ans[f[h%3]::3,1::3] = x - 9
for l in ans:
print(''.join(map(str, l)))
sys.exit()
if h % 3 == 2:
ans = np.zeros((h,w), dtype=np.int64)
f = [1,0,0]
ans[::3,f[w%3]::3] = 9
ans[1::3,f[w%3]::3] = x - 9
for l in ans:
print(''.join(map(str, l)))
sys.exit()
if x <= 36 and h % 3 == 2 and w % 3 == 2:
ans = np.zeros((h,w), dtype=np.int64)
if x <= 27:
a = np.array([[9,9,0],[x-18,0,0],[0,0,0]], dtype=np.int64)
else:
a = np.array([[9,9,0],[9,x-27,0],[0,0,0]], dtype=np.int64)
ans = np.tile(a,((h+1)//3,(w+1)//3))[:-1,:-1]
for l in ans:
print(''.join(map(str, l)))
sys.exit()
print(-1)
ytoki28