P13313 [GCJ 2012 Qualification] Recycled Numbers
题目描述
你是否曾因电视节目总是反复播放相同内容而感到烦躁?其实我对电视并不在意,但有时我会对数字也有类似的感觉。
我们称一对不同的正整数 $(n, m)$ 为**可循环对**,如果你可以通过把 $n$ 的后面若干位数字移到最前面(且不改变这些数字的顺序)得到 $m$。例如,$(12345, 34512)$ 是一个可循环对,因为你可以把 $12345$ 的末尾 $345$ 移到最前面,得到 $34512$。注意,$n$ 和 $m$ 必须位数相同,且都不能有前导零。
给定两个整数 $A$ 和 $B$,它们具有相同的位数且都没有前导零。请问有多少不同的可循环对 $(n, m)$ 满足 $A \leqslant n < m \leqslant B$?
输入格式
输入的第一行为测试用例数 $T$。接下来有 $T$ 组测试数据,每组一行,包含两个整数 $A$ 和 $B$。
输出格式
对于每个测试用例,输出一行,格式为 "Case #x: y",其中 $x$ 为测试用例编号(从 1 开始),$y$ 为满足 $A \leqslant n < m \leqslant B$ 的可循环对 $(n, m)$ 的个数。
说明/提示
**我们确定第 4 组样例的输出吗?**
是的,我们确定第 4 组样例的输出为 287。
**限制条件**
- $1 \leq T \leq 50$
- $A$ 和 $B$ 的位数相同
**测试集 1(10 分,可见结果)**
- $1 \leq A \leq B \leq 1000$
**测试集 2(15 分,隐藏结果)**
- $1 \leq A \leq B \leq 2 \times 10^6$
翻译由 ChatGPT-4.1 完成。