結果
| 問題 |
No.3316 Make 81181819 with only 0,1,or 8
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-10-31 23:12:53 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,038 bytes |
| コンパイル時間 | 350 ms |
| コンパイル使用メモリ | 82,276 KB |
| 実行使用メモリ | 67,480 KB |
| 最終ジャッジ日時 | 2025-10-31 23:12:59 |
| 合計ジャッジ時間 | 5,010 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 1 WA * 21 |
ソースコード
for _ in range(int(input())):
s=str(81181819-int(input()))[::-1]
n=len(s)
for i in range(10):
a={0:[]}
for j in range(n):
b={}
for k in range(i+1):
for l in range(i+1-k):
for m in a:
x=8*k+l+m
if x%10==int(s[j]):
b[x//10]=a[m][:]
if l>0:
b[x//10].append((pow(10,j),l))
if k>0:
b[x//10].append((pow(10,j)*8,k))
a=b
if 0 in a:
print(i)
ans=[0 for _ in range(i)]
z=[[True for _ in range(n)] for _ in range(i)]
for j in range(len(a[0])):
for k in range(a[0][j][1]):
for l in range(i):
if z[l][len(str(a[0][j][0]))-1]:
ans[l]+=a[0][j][0]
z[l][len(str(j))-1]=False
break
for j in ans:
print(j)
break