#P4109. 定价(Pricing)
0
定价(Pricing)
定价(Pricing)
题目描述
在市场上有很多商品的定价类似于 999 元、4999 元、8999 元这样。它们和 1000 元、5000 元和 9000 元并没有什么本质区别,但是在心理学上会让人感觉便宜很多,因此也是商家常用的价格策略。不过在你看来,这种价格十分荒谬。于是你如此计算一个价格 ( 为正整数)的荒谬程度:
- 首先将 看做一个由数字组成的字符串(不带前导 );
- 然后,如果 的最后一个字符是 ,就去掉它。重复这一过程,直到 的最后一个字符不是 ;
- 记 的长度为 ,如果此时 的最后一位是 ,则荒谬程度为 ;否则为 。
例如, 的荒谬程度为 ,而 则为 , 的荒谬程度为 。
现在,你要出售一样闲置物品,你能接受的定价在 范围内,你想要给出一个荒谬度最低的价格。
输入格式
输入文件的第一行包含一个正整数 ,表示测试数据的数目。
每个测试数据占单独的一行,包含两个空格分隔的正整数 ,表示定价的区间。
输出格式
对于每个测试数据,在单独的一行内输出结果。如果荒谬度最低的价格不唯一,输出最小的那个。
样例输入 #1
3
998 1002
998 2002
4000 6000
样例输出 #1
1000
1000
5000
数据范围
- 对于 的数据,;
- 对于 的数据,,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1650。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 20 | 2~7 | 小规模 L,R≤2000 / 边界 L=R单点 / 1~9一位数区间 |
| 2 | 15 | 8~11 | Hack: L=R=10^9 与 [1,10^9] 全域 / Hack: 荒谬度并列时取最小价格 / 跨5×10^k边界 |
| 3 | 30 | 12~20 | 满规模 T=100, 1≤L≤R≤10^9 多数量级区间测试 |
| 4 | 25 | 21~25 | 随机窄区间与宽区间混合回归 |
出处:原题链接