题目名称 | 806. 表达式 |
---|---|
输入输出 | expressb.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2012-06-13加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:5, 提交:34, 通过率:14.71% | ||||
jmisnal | 100 | 0.595 s | 5.65 MiB | C++ |
QhelDIV | 100 | 0.714 s | 15.57 MiB | C++ |
Rapiz | 100 | 4.265 s | 0.31 MiB | C++ |
Rapiz | 100 | 4.275 s | 0.31 MiB | C++ |
农场主 | 100 | 4.281 s | 0.31 MiB | C++ |
Blacksmith | 60 | 3.434 s | 3.15 MiB | C++ |
Blacksmith | 60 | 4.168 s | 0.31 MiB | C++ |
Blacksmith | 60 | 4.307 s | 3.15 MiB | C++ |
Blacksmith | 60 | 4.338 s | 3.15 MiB | C++ |
Blacksmith | 60 | 5.393 s | 3.15 MiB | C++ |
本题关联比赛 | |||
20120613 | |||
防止浮躁的小练习v0.3 |
关于 表达式 的近10条评论(全部评论) | ||||
---|---|---|---|---|
精心伪装的暴力……
Rapiz
2016-10-13 10:07
1楼
|
“#”这个操作符被定义为一个双目运算符,且两个运算对象为正整数,对于整数X、Y,“#”号运算定义为(X#Y)=(X各位数字和)*(Y各位数字中最大数字)+(Y各位数字中最小数字)。例:
(9#30)=9*3+0=27
(30#9)=3*9+9=36
关于表达式,我们约定或是一个正整数或是(表达式#表达式),一个表达式中只有相同的正整数。以下表达式是合法的表达式:
A (A#A) ((A#A)#A) (A#(A#A)#(A#A)#A)
对于给定的十进制正数A和表达式的值K,计算具有K值的表达式中“#”的个数。具有K值的表达式可能有许多,并且具有不同的“#”个数,只需输出最小个数。
本题有多组数据。
输入第一行一个正整数T表示数据组数,接下来依次给出每组数据。
每组数据包含两行,第一行只包含一个正整数描述A,第二行只包含一个非负整数描述K。
输出包含T行,每行一个非负整数表示相应数据组的答案,若无解这一行就输出-1。
3 2 6 3 7 1 87
1 2 16
本题包含10个测试点,对于每个测试点,如果你的输出和标准输出完全一样则得到该测试点的全部分数,否则得0分。
T ≤ 100
A ≤ 2 000 000 000
K ≤ 2 000 000 000