Contest 4 1001 Olympiad【拆數】

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5327

#include<iostream>
#include<cstdio>
using namespace std;
int make(int k)
{
    int j;
    bool flag;
    int f[10];
    for(j=0;j<=9;j++) f[j]=0;
    flag=true;
    while(k>0&&flag)
    {
        if(f[k%10]==1) flag=false;
        else
        {
            f[k%10]=1;k=k/10;
        }
    }
    if(flag) return 1;
    else return 0;
}
int main()
{
    int t,a,b,sum,i;
    int ku[100010];
    ku[0]=1;
    for(i=1;i<=100000;i++)
        ku[i]=ku[i-1]+make(i);
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&a,&b);
        sum=ku[b]-ku[a-1];
        printf("%d\n",sum);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章