hdoj5327

来源:互联网 发布:6603棋牌 数据库 编辑:程序博客网 时间:2024/06/05 00:24

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

题意:求区间内,每位都不同的数字的个数。

解题思路:先打表,在查询

#include <iostream>#include <stdio.h>using namespace std;const int MAX=100000+50;int table[MAX];int main(){    char str[10];    int flag=0;    int n;    for(int i=1;i<MAX;i++)    {        n=sprintf(str,"%d",i);        for(int j=0;j<n;j++)        {            for(int k=j+1;k<n;k++)            {                if(str[j]==str[k])                {                    flag=1;                    break;                }            }        }        if(flag)        {            table[i]=table[i-1];        }        else        {            table[i]=table[i-1]+1;        }        flag=0;    }    int T;    scanf("%d",&T);    while(T--)    {        int a,b;        scanf("%d %d",&a,&b);        printf("%d\n",table[b]-table[a-1]);    }    return 0;}


0 0
原创粉丝点击