#HT12563. 打字机
打字机
题目描述
Cuber QQ 得到了一台很奇怪的打字机。
这台打字机上,数字键 0 和数字键 1 坏掉了,因此 Cuber QQ 不能直接打出任何包含数字 0 或数字 1 的正整数。我们称一个正整数是 可输入数 ,当且仅当它的十进制表示中不含数字 0 和数字 1。例如,2, 9, 234, 8888 是可输入数;10, 101, 1203, 2024 不是可输入数。
现在 Cuber QQ 想得到一个目标正整数 。虽然不能直接输入 ,但他可以输入若干个可输入数,并用加号把它们相加。对于一个正整数 ,如果存在 个可输入数 ,满足: ,则称 可以用 个可输入数表示。
由于 Cuber QQ 不想敲太多数字,他想知道:
-
表示 所需的最小 ;
-
在使用最小 的情况下,有多少种不同的有序表达式。
两个表达式被认为不同,当且仅当存在某个位置 ,使得第 个加数不同。例如,表达式 和表达式 被认为是两种不同的表达式。
由于方案数可能很大,你只需要输出方案数对 取模后的结果。
可以证明,对于本题输入中的每个 ,最小 一定不超过 。
输入格式
第一行一个整数 ,表示测试数据组数。
接下来的 行,每行一个整数 ,其中用 表示 的十进制表示长度。
输出格式
对于每个测试数据,输出一行两个整数 。其中 表示最少需要几个可输入数; 表示使用最小 时的有序表达式数量,对 取模后的结果。
样例
4
19
100
911
20
3 42
2 56
2 392
3 36
样例解释
对于 ,它不能表示成两个可输入数之和。
当使用 个可输入数时,三个加数都只能是一位数。设它们分别为 ,则需要满足 ,满足条件的有序三元组共有 个。
数据规模与约定
对于所有测试数据,保证:$1\le T\le 10^5,2\le |n_i|,\quad\sum_{i=1}^{T}|n_i|\le 2\times 10^5$。每个 满足: 是一个不含前导零的正整数; 至少包含一个数字 0 或数字 1。
| 测试点编号 | 额外约束 | 分数 |
|---|---|---|
| 1‑10 | 对每个 ,都有 | 10 |
| 11‑25 | 保证每个 的最小 都等于 ,且每个测试点中 | 15 |
| 26‑45 | 每个测试点中 | 20 |
| 46‑70 | 保证每个 的最小 都等于 | 25 |
| 71‑100 | 无额外限制 | 30 |