题目背景
在题目描述末尾有形式化题意。
题目描述
ZHY 在一个空旷的房间里练习说唱。
ZHY 初始时会发出一个强度为 x 的声音,这个声音会与墙壁发生碰撞,产生一个强度为 ⌊10x⌋ 的回声。回声会继续与墙壁碰撞,产生回声的回声……直到这个回声的强度为 0。
房间里还有一个收音机,它会记录下来所有的声音(包括初始发出的声音和所有回声)。可惜,ZHY 一不小心把收音机弄坏了。现在,收音机只能显示出记录下的所有声音的强度之和 y,你能通过这个仅有的信息计算出 ZHY 初始发出的声音的强度是多少吗?由于收音机太过古老,可能会出现一些故障导致显示的数有误。对于这种情况,你需要输出 −1。
形式化题意
如下定义一个函数:
f(x)={0x+f(⌊10x⌋)x=0x>0比如 f(123)=123+12+1=136。
给定一个数 y,请求出是否存在唯一的一个数 x 满足 f(x)=y,如果有则输出 x,否则输出 −1。
输入格式
本题有多组数据。
第一行一个整数 T,表示数据组数。
每一组数据包含一行一个整数 y。
输出格式
对于每组数据,若存在唯一的 x 对应这个 y,则输出 x。否则,输出 -1
。
提示
Subtaskid |
y |
特殊性质 |
分值 |
1 |
<1000 |
无 |
10 |
2 |
<106 |
15 |
3 |
<10100000 |
S≤9 |
10 |
4 |
S≤10 |
20 |
5 |
<103000 |
无 |
15 |
6 |
<10500000 |
30 |
特殊性质一栏中,S≤k 表示“若有解,x 中所有位的数字和不超过 k”。
对于 100% 的数据,1≤T≤10,0≤y<10500000。