#CSPJ2024T3. 2024 T3 小木棍

    ID: 48 传统题 1000ms 512MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>贪心构造数学动态规划深搜CSP-J2024

2024 T3 小木棍

2024 T3 小木棍

主知识点:贪心。交叉标签:贪心、构造、数学、动态规划、深搜。
暴力标注:有非 DP 满分解。
OJ 使用标准输入与标准输出。原比赛文件名为 sticks.in / sticks.out;下方如保留原文件约定,以本句的 OJ 约定为准。
时限 1 秒;内存 512 MiB;测试点 10;总分 100。
数据来源:公开存档数据;未逐文件对照官网下载包。

题目描述

用恰好 nn 根等长小木棍按七段数码管形状拼一个没有前导 0 的正整数,使它尽可能小。不存在则输出 -1。

各数字需要的木棍数为:

数字 0 1 2 3 4 5 6 7 8 9
木棍数 6 2 5 4 5 6 3 7 6

输入格式

本题有多组测试数据。

输入的第一行包含一个正整数 TT,表示数据组数。

接下来包含 TT 组数据,每组数据的格式如下:

一行包含一个整数 nn,表示木棍数。

输出格式

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

样例

样例 1

输入:

5
1
2
3
6
18

输出:

-1
1
7
6
208

数据范围与特殊性质

对于所有测试数据,保证:1≤T≤501 \leq T \leq 50,1≤n≤1051 \leq n \leq 10^5。

测试点编号 n≤n\leq 特殊性质
11 2020 无
22 5050
33 10310^3 A
4,54,5 10510^5
66 10310^3 B
7,87,8 10510^5
99 10310^3 无
1010 10510^5

特殊性质 A:保证 nn 是 77 的倍数且 n≥100n \geq 100。

特殊性质 B:保证存在整数 kk 使得 n=7k+1n = 7k + 1,且 n≥100n \geq 100。

附加样例

本题的公开样例整理在对应的“样例”ZIP 中。样例不计入评测测试点;题面中的样例也已保留。

暴力退路标注(教学补充)

有非 DP 满分解。该题不必想到 DP:最短位数+逐位可行性贪心/余数分类能满分。枚举正整数并计算木棍数,只适合 n≤20 的第 1 点;枚举字符串要禁止前导 0。

目标范围:10 分暴力;贪心可满分。部分分按原题规模判断,不构成对任意实现或评测机的得分保证。

来源与整理说明

题目原作者/发布者:中国计算机学会 CCF / NOI。题意经过改写,保留公式、输入输出、样例及约束;知识点和暴力标注为本次整理补充。