結果
| 問題 |
No.3316 Make 81181819 with only 0,1,or 8
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-10-31 21:46:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,230 bytes |
| コンパイル時間 | 321 ms |
| コンパイル使用メモリ | 82,480 KB |
| 実行使用メモリ | 64,056 KB |
| 最終ジャッジ日時 | 2025-10-31 21:47:04 |
| 合計ジャッジ時間 | 4,783 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 1 WA * 21 |
ソースコード
t = int(input())
yiwiyNumber = 81181819
canMake = []
nums = [0, 1, 8]
for i in range(1, pow(3, 8)):
k = i
sm = 0
for j in range(8):
sm *= 10
sm += nums[k % 3]
k //= 3
canMake.append(sm)
canMake = list(set(canMake))
canMake.sort(reverse=True)
for _ in range(t):
n = int(input())
n = yiwiyNumber-n
dist = [[] for _ in range(8)]
k = n
cnt = 0
for i in range(8):
if k % 10 == 8:
dist[i].append(8)
cnt += 1
elif k % 10 == 9:
dist[i].append(8)
dist[i].append(1)
cnt += 2
else:
for j in range(k % 10):
dist[i].append(1)
cnt += k % 10
k //= 10
合成ねこ = []
while cnt != 0:
ねこ = 0
for j in range(7, -1, -1):
ねこ *= 10
if len(dist[j]):
ねこ += dist[j].pop()
cnt -= 1
合成ねこ.append(ねこ)
print(len(合成ねこ))
for ねこ in 合成ねこ:
print(ねこ)
"""
14
10+4
10+1+1+1+1
まとめる
11+1+1+1
21
10+10+1
まとめる
10+11
181
100+10+10+...+10+1
まとめる
100+80+1
181
81181819
まとめる
81181818+1
"""