CF95D Horse Races

题目描述

Petya 非常喜欢赛马。参赛的马匹编号从 $l$ 到 $r$。为了评估获胜的概率,Petya 需要知道“近乎幸运”的马号数量。一个“近乎幸运数”指的是:存在至少两个幸运数字,并且这两个幸运数字的位置之差不超过 $k$。Petya 从他的几个利沃夫朋友那学到,幸运数字是 $4$ 和 $7$。数字之间的距离是它们在数中的位置的绝对值差。例如,若 $k=2$,则 $412395497$、$404$、$4070400000070004007$ 都是近乎幸运数,而 $4$、$4123954997$、$4007000040070004007$ 不是。 Petya 准备了 $t$ 个区间 $[l_{i}, r_{i}]$,并约定了一个公共的 $k$。你的任务是,对于每个区间,统计其中有多少个近乎幸运的数。由于答案可能很大,请对 $1000000007$($10^9+7$)取模输出。

输入格式

第一行包含两个整数 $t$ 和 $k$($1\le t,k\le 1000$)—— 区间数量和幸运数字间的最大距离。接下来的 $t$ 行,每行包含一对整数 $l_{i}$ 和 $r_{i}$($1\le l\le r\le 10^{1000}$)。所有数字均不含前导零。每行内数字之间用一个空格隔开。

输出格式

输出 $t$ 行,每行一个整数,表示对应区间内近乎幸运数的个数,对 $1000000007$ 取模。

说明/提示

在第一个样例中,四个近乎幸运的数为 44,47,74,77。 在第二个样例中,只有 74 和 77 落在给定区间内。 由 ChatGPT 5 翻译