[COCI2019-2020#1] Trol
题目描述
Stjepan 最近在萨格勒布大学获得了数学学士学位。他的父母自然而然地为他感到骄傲,并决定给他所有不超过 2 60 2^{60} 260 的正整数作为礼物。为了保证它们的安全,他迅速地将所有数存入了一个序列 A A A,使得 A i = i A_i=i Ai=i。
一个妒忌他的朋友 Marin 决定做一个恶作剧:不断地把 A A A 中的每个元素替换为其所有数位之和,直到最终只剩下一位数。
例如,第 197 197 197 个元素的初始值为 197 197 197。Marin 先将这个值变为 1 + 9 + 7 = 17 1+9+7=17 1+9+7=17,然后再一次改变了它,使其变为 1 + 7 = 8 1+7=8 1+7=8。
Stjepan 对此极为震惊,并请求 Marin 把序列变回初始状态。不幸的是,在他正确回答 Q Q Q 个询问之前,Marin 并不会如此。对于每一个询问,Stjepan 需要回答 A A A 序列中第 l l l 项至第 r r r 项元素的总和。
来帮 Stjepan 回答这些询问吧!
输入格式
第一行包含一个整数 Q Q Q,表示询问次数。
接下来的 Q Q Q 行,每行包含两个正整数 l i , r i l_i,r_i li,ri,表示 Marin 第 i i i 次询问的区间范围。
输出格式
输出 Q Q Q 个询问的答案。答案之间应当用换行符两两分开,并且应当符合询问的顺序。
样例 #1
样例输入 #1
1
1 5
样例输出 #1
15
样例 #2
样例输入 #2
2
9 13
44 45
样例输出 #2
19
17
样例 #3
样例输入 #3
1
1998 2018
样例输出 #3
102
提示
数据规模及约定
对于 20 % 20\% 20% 的数据,所有询问满足 1 ≤ l i ≤ r i ≤ 9 1 \le l_i \le r_i \le 9 1≤li≤ri≤9。
对于 60 % 60\% 60% 的数据,所有询问满足 r i − l i ≤ 1000 r_i-l_i \le 1000 ri−li≤1000。
对于 100 % 100\% 100% 的数据, 1 ≤ Q ≤ 100 1 \le Q \le 100 1≤Q≤100,所有询问满足 1 ≤ l i ≤ r i ≤ 2 60 1 \le l_i \le r_i \le 2^{60} 1≤li≤ri≤260。
说明
本题分值按 COCI 原题设置,满分 50 50 50。
题目译自 COCI2019-2020 CONTEST #1 T1 Trol 。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容