题目975 关于521

来源:互联网 发布:软件配置管理计划书 编辑:程序博客网 时间:2024/05/16 14:51

已AC代码:

 #include<cstdio>#include<iostream>using namespace std;int t[1000000]={0},f[1000000]={0};void detection(int i, int b[]){    int r[10], j=0;    int a=0, d=0, c=0;    for(; i!=0; i/=10)    {        r[j]=i%10;        j++;        if(i%10==5)            a++;        if(i%10==2)            d++;        if(i%10==1)            c++;    }    if(a&&d&&c)        b[0]=1;    else        b[0]=0;    b[1]=0;    for(int i=0; i<j-2; i++)    {        if(r[i]==1&&r[i+1]==2&&r[i+2]==5)            b[1]=1;    }}int main(){    int a, b, z[2], j=0, k=0;    int cont=1;    for(int i=125; i<1000000; i++)    {        detection(i, z);        if(z[0])        {            t[i]=j+1;            j=t[i];        }        else            t[i]=j;        if(z[1])        {            f[i]=k+1;            k=f[i];        }        else            f[i]=k;    }    while((scanf("%d%d", &a, &b)) != EOF)    {        printf("Case %d:%d %d\n", cont++, t[b]-t[a-1], f[b]-f[a-1]);    }    return 0;}        


0 0
原创粉丝点击