递进数字C++

给定两个整数 l,r(l≤r),请问 l,r 范围内,满足数字的任意相邻两位差值都恰好为 1,且数字至少有两位的数有多少个。

输入格式

第一行包含整数 T,表示共有 T 组测试数据。每组数据占一行,包含两个整数 l 和 r。

输出格式

每组数据输出一行,一个结果。

数据范围

1≤T≤100,

0≤l≤r≤3×108

输入样例:

2

1 10

1 100

输出样例:

1

17

cpp 复制代码
#include<iostream>
using namespace std;
int l,r,cnt;
void dfs(int x)
{
    if(x>r) return;
    if(x>=l&&x>=10) cnt++;
    int d=x%10;
    if(d) dfs(x*10+d-1);
    if(d<9) dfs(x*10+d+1);
}
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        cin>>l>>r;
        cnt=0;
        for(int i=1;i<=9;i++)
            dfs(i);
        cout<<cnt<<endl;
    }
    return 0;
}
相关推荐
梦帮科技3 分钟前
多任务权重流形融合:SLERP 球形线性插值、DARE 稀疏剪枝与多专家模型融合落地
人工智能·深度学习·算法·机器学习·tensorflow·聚类·剪枝
Tisfy4 分钟前
LeetCode 0020.有效的括号:栈匹配
算法·leetcode·字符串·题解·括号匹配
知识分享小能手6 分钟前
C++ 学习教程,从入门到精通,C++类继承 — 完整知识点详解(13)
开发语言·c++·学习
YYRAN_ZZU7 分钟前
如何编一个gcc的交叉工具链
linux·c++
测试学习test22 分钟前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
迅猛龙办公室29 分钟前
Python实现斐波那契数列
算法
淡海水30 分钟前
02-01-原理篇-Mark-Sweep与变种算法
算法·unity·c#·游戏引擎·.net·gc
Navigator_Z33 分钟前
LeetCode //C - 1276. Number of Burgers with No Waste of Ingredients
c语言·算法·leetcode
Frank_refuel36 分钟前
【C++】手撕JRpc框架(梳理RPC流程)
c++
wuminyu44 分钟前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++