問題一覧 > 通常問題

No.3316 Make 81181819 with only 0,1,or 8

レベル : / 実行時間制限 : 1ケース 6.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 47
作問者 : kazuppa / テスター : DeltaStruct hirayuu_yc 高橋ゆに Andrew8128 elphe のらら こめだわら みうね 👑 loop0919 seekworser
ProblemId : 12479 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-10-30 09:48:56
コンテストの他の問題:

問題文

岩井星では、地球で大活躍をしているyiwiy9(わいいわいわいナイン)さんの名前になぞらえて0と1と8からできるだけ少ない回数で81181819を作る遊びが流行っています。私たちも実際にこの遊びを体験してみましょう。

$81181819$ 未満の非負整数 $N$ が与えられます。

以下の条件を全て満たす正整数列 $p_1,p_2,...,p_k$ のうち、$k$ が最小となるものを一つ出力してください。

  • $\displaystyle\sum_{i=1}^k p_i +N=81181819$
  • $p_i$ を10進表記で表した時、 $0,1,8$ のみで構成されている。

ただし、条件を満たす $k$ が最小の $p$ が複数存在する場合はどれを出力してもよいです。

$T$ 個のテストケースが与えられるので、全てに答えてください。

制約

  • $1\leq T\leq 10$
  • $0\leq N< 81181819$
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられます。$TestCase_k$ は $k$ 番目のテストケースを表しています。
$T$
$TestCase_1$
$TestCase_2$
$\vdots$
$TestCase_T$

また、各テストケースは次のように与えられます。

$N$

出力

$T$ 個のテストケースについて、標準出力で改行区切りで順番に出力してください。各テストケースについて $k$ と長さ $k$ の数列 $p_1,p_2,...,p_k$ を以下の形式で出力してください。

$k$
$p_1$
$p_2$
$\vdots$
$p_k$
最後に改行してください。

サンプル

サンプル
入力
4
81181805
81181798
81181638
0
出力
4
1
1
1
11
2
11
10
1
181
2
81181818
1

一つ目のケースについて、

  • $p=(-8,11,11)$ は不適です。なぜなら、 $p$ は正整数列でなければならないからです。
  • $p=(11,1)$ は不適です。なぜなら、 $\displaystyle\sum_{i=1}^k p_i +N=81181819$ でなければならないからです。
  • $p=(13,1)$ は不適です。なぜなら、$p_1$ を10進表記で表した時に $3$ が含まれているからです。
  • $p=(8,1,1,1,1,1,1)$ は不適です。なぜなら、条件を満たす $p$ のうち、 $k$ が最小でないからです。

$p=(11,1,1,1)$ も解の一つであるため、これを出力してもよいです。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。