递进数字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;
}
相关推荐
生成论实验室10 小时前
用事件关系网络重新理解AI(二):损失函数、优化器与深度学习的动力学
数据结构·人工智能·深度学习·算法·语言模型
霍霍的袁10 小时前
【C++初阶】缺省参数(默认参数)详细讲解
开发语言·c++·算法
楼田莉子10 小时前
C++17新特性:optional/variant/any/string_view
c++·后端·学习
计算机安禾10 小时前
【算法分析与设计】第2篇:计算模型与渐进复杂性分析
算法
I Promise3410 小时前
多传感器融合&模型后处理C++工程师面试参考回答
开发语言·c++·面试
生成论实验室10 小时前
事件、信息荷与六维态势空间——每一个事件都是一次空间的弯曲
人工智能·算法·语言模型·可信计算技术·安全架构
budingxiaomoli11 小时前
递归,搜索与回溯算法--递归
算法
风味蘑菇干11 小时前
Stream基础题目
java·算法
KaMeidebaby11 小时前
卡梅德生物技术快报|真核蛋白表达信号肽筛选实验全流程复盘
服务器·前端·数据库·人工智能·算法
霍霍的袁11 小时前
【C++初阶】函数重载详细讲解
开发语言·c++·算法