题意:找区间美丽数(自身有不同数字组成的数,如123是,100不是)的个数
思路:打表
#include <bits/stdc++.h>
#define LL long long
using namespace std;
int a[1001005];
int n;
int f[100005];
int sum[100005];
int flag[10];
void init()
{
for(int i = 1; i <= 100000; i++)
{
memset(flag,0,sizeof(flag));
int p = 1;
int t = i;
while(t > 0)
{
if(flag[t%10])
{
p = 0;
break;
}
flag[t%10] = 1;
t = t/10;
}
if(p) f[i]++;
}
for(int i = 1; i <= 100000; i++)
{
sum[i] = sum[i-1] + (f[i] == 1);
}
}
int main()
{
#ifdef xxz
//freopen("out.txt","w",stdout);
freopen("in.txt","r",stdin);
#endif // xxz
int T,L,R;
init();
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&L,&R);
printf("%d\n",sum[R] - sum[L-1]);
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-03 22:26:07