Lunlun Number
题意:找到第k个每两位之间是连续数字的数字
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int k;
scanf("%d",&k);
queue<ll>q;
for(int i=1;i<=9;i++)q.push(i);
ll ans;
for(int i=1;i<=k;i++){
ans=q.front();
q.pop();
if(ans%10)q.push(10*ans+(ans%10)-1);
q.push(10*ans+(ans%10));
if(ans%10!=9)q.push(10*ans+(ans%10)+1);
}
printf("%lld\n",ans);
}
其实就是很简单的通过队列模拟每添加一位之后相邻的数字