题库/J0112

#J0112. 【24CSPJ普及组】小木棍(sticks)

    传统题 难度: 普及− 标签>一本通交换论证与贪心反例一次不等式等价变形
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

J0112 · 【24CSPJ普及组】小木棍(sticks)

退出在线编程模式
普及− 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交

题目描述

小 S 喜欢收集小木棍。在收集了 nn 根长度相等的小木棍之后,他闲来无事,便用它们拼起了数字。用小木棍拼每种数字的方法如下图所示。 题面插图 每种数字的小木棍拼法 现在小 S 希望拼出一个正整数,满足如下条件: • 拼出这个数恰好使用 nn 根小木棍; • 拼出的数没有前导 00; • 在满足以上两个条件的前提下,这个数尽可能小。 小 S 想知道这个数是多少,可 nn 很大,把木棍整理清楚就把小 S 折腾坏了,所以你需要帮他解决这个问题。如果不存在正整数满足以上条件,你需要输出 ‐1‐1 进行报告。

输入

本题有多组测试数据。 输入的第一行包含一个正整数 TT,表示数据组数。 接下来包含 TT 组数据,每组数据的格式如下: 一行包含一个整数 nn,表示木棍数。

输出

对于每组数据:输出一行,如果存在满足题意的正整数,输出这个数;否则输出 ‐1‐1。

输入样例

5
1
2
3
6
18

输出样例

‐1
1
7
6
208

提示

【样例 1 解释】 • 对于第一组测试数据,不存在任何一个正整数可以使用恰好一根小木棍摆出,故输出 ‐1‐1。 • 对于第四组测试数据,注意 00 并不是一个满足要求的方案。摆出 99、4141 以及 111111都恰好需要 66 根小木棍,但它们不是摆出的数最小的方案。 • 对于第五组测试数据,摆出 208208 需要 5+6+7=185 + 6 + 7 = 18 根小木棍。可以证明摆出任何一个小于 208208 的正整数需要的小木棍数都不是 1818。注意尽管拼出 006006 也需要1818 根小木棍,但因为这个数有前导零,因此并不是一个满足要求的方案。 对于所有测试数据,保证:1≤T≤501 ≤ T ≤ 50,1≤n≤1051 ≤ n ≤ 10^5。

测试点编号n ≤ 特殊性质
120 无
2 50
3103A
4, 5 105
6 103B
7, 8105
9103无
10105
特殊性质 A:保证 $n$ 是 $7$ 的倍数且 $n ≥ 100$。 特殊性质 B:保证存在整数 $k$ 使得 $n = 7k + 1$,且 $n ≥ 100$。

输出符号说明

无解时输出-1;原排版样例中的‐1表示相同负整数。

题目信息

#1941
—

暂无提交记录

练习难度 普及−
时间限制
1000ms
内存限制
128MiB
上传者