#MC1016. 规划探索路线

规划探索路线

题目背景

在 Minecraft 中,玩家经常需要探索不同的坐标区域。每个坐标区域都有一个唯一的编号,编号由数字组成。

某些编号的区域是危险的(例如,包含熔岩或怪物),而其他区域是安全的。为了规划探索路线,史蒂夫需要计算在一定范围内有多少个安全的坐标编号。

题目描述

给定一个范围 [L,R][L,R],其中 LLRR 是两个正整数。你需要计算在 [L,R][L,R] 范围内,满足以下条件的安全坐标编号的数量:

  • 编号的每一位数字都不是 44(因为史蒂夫的霉运数字是 44)。

  • 编号的相邻两位数字都不是连续1313(因为 1313 在西方文化中是不吉利的数字)。

请你编写程序帮助史蒂夫计算满足条件的编号数量。

输入格式

输入一行,包含两个整数 LLRR,表示范围的起点和终点。

输出格式

输出一个整数,表示 [L,R][L,R] 范围内满足条件的安全坐标编号的数量。

输入输出样例

1 100
80

说明 / 提示

样例 1 解释

[1,100][1,100] 范围内,以下编号不满足条件:

包含 44 的编号: $4,14,24,34,40,41,42,43,44,45,46,47,48,49,54,64,74,84,94$。

包含连续 1313 的编号:1313

因此,满足条件的编号数量为 100191=80100-19-1=80

数据范围与约定

测试点 1LR1 \le L \le R \le
121、2 106\qquad10^6
343、4 2×1012\quad2 \times 10^{12}
55 1015\qquad10^{15}

对于 100%100\% 的数据,1LR10151 \le L \le R \le 10^{15}