递进数字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;
}
相关推荐
weixin_3077791318 分钟前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i33 分钟前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
by209991 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string
沙漠之主1 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
朝朝辞暮i1 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
Godspeed Zhao1 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
kaixin_learn_qt_ing2 小时前
C++多态实现原理
c++
可乐ea2 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化
无名猿2 小时前
unique_ptr 完全指南:独占所有权与零开销
c++·性能优化·内存管理·标准库·现代c++
笑鸿的学习笔记2 小时前
C++笔记之大块顺序写
java·c++·笔记