結果
問題 | No.1398 調和の魔法陣 (構築) |
ユーザー |
![]() |
提出日時 | 2021-02-19 23:25:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 3,153 ms |
コード長 | 2,525 bytes |
コンパイル時間 | 383 ms |
コンパイル使用メモリ | 13,056 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-09-16 23:04:56 |
合計ジャッジ時間 | 24,120 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
w, h, x = map(int, input().split())if x > 36:print(-1)elif x == 0:for l in range(h):print("0" * w)elif x <= 9:if w % 3 == 0:line1 = "0" + str(x) + "0"else:line1 = str(x) + "00"line1 *= w // 3 + 1line1 = line1[:w]lines = [line1, "0" * w, "0" * w]for l in range(h):print(lines[(l - int(h % 3 == 0)) % 3])elif w > 1 and h > 1:if w % 3 == 2 and h % 3 == 2:line1 = str((x - 1) % 9 + 1) + str(int(x > 9) * 9) + "0"line1 *= w // 3 + 1line1 = line1[:w]line2 = str(int(x > 18) * 9) + str(int(x > 27) * 9) + "0"line2 *= w // 3 + 1line2 = line2[:w]line3 = "0" * wlines = [line1, line2, line3]for l in range(h):print(lines[l % 3])elif x <= 18:if w % 3 == 2:line1 = str((x - 1) % 9 + 1) + str(int(x > 9) * 9) + "0"line1 *= w // 3 + 1line1 = line1[:w]line2 = str(int(x > 18) * 9) + str(int(x > 27) * 9) + "0"line2 *= w // 3 + 1line2 = line2[:w]line3 = "0" * wlines = [line1, line2, line3]for l in range(h):print(lines[(l - int(h % 3 == 0)) % 3])elif h % 3 == 2:if w % 3:line1 = str((x - 1) % 9 + 1) + "00"else:line1 = "0" + str((x - 1) % 9 + 1) + "0"line1 *= w // 3 + 1line1 = line1[:w]if w % 3:line2 = str(int(x > 9) * 9) + "00"else:line2 = "0" + str(int(x > 9) * 9) + "0"line2 *= w // 3 + 1line2 = line2[:w]line3 = "0" * wlines = [line1, line2, line3]for l in range(h):print(lines[l % 3])else:print(-1)else:print(-1)elif w == h == 1:if x > 9:print(-1)else:print(x)elif w == 1:if x > 18:print(-1)elif x > 9:if h % 3 == 2:lines = [str((x - 1) % 9 + 1), str(int(x > 9) * 9), 0]for l in range(h):print(lines[l % 3])else:print(-1)elif h == 1:if x > 18:print(-1)else:if w % 3 == 2:line1 = str((x - 1) % 9 + 1) + str(int(x > 9) * 9) + "0"line1 *= w // 3 + 1line1 = line1[:w]print(line1)else:print(-1)