PersonalCorpus 版 (精华区)

1148392 Big Guava ... 417 Accepted
0:00.000 64 2002/10/05 22:47:09.475


void main()
{
#ifndef ONLINE_JUDGE
    freopen("c:\\0acm\\uva\\i417","r",stdin);
    freopen("c:\\0acm\\uva\\o417","w",stdout);
#endif

    char s[10];
    int i,j,k,m,n,sum;
    bool ok;

    while (gets(s)!=NULL) {
        sum=0; ok=false;
        if (strlen(s)==1) {
            printf("%d\n",s[0]-96);
            continue;
        }
        if (strlen(s)==2) {
            for (i='a';(i<='z')&&(!ok);i++)
                for (j=i+1;j<='z';j++)
                    if ((s[0]==i)&&(s[1]==j)) {
                        ok=true;
                        break;
                    } else sum++;
            if (ok) {
                sum+=27;
                printf("%d\n",sum);
            } else {
                printf("0\n");
            }
            continue;
        }

        if (strlen(s)==3) {
            for (i='a';(i<='z')&&(!ok);i++)
                for (j=i+1;(j<='z')&&(!ok);j++)
                for (k=j+1;k<='z';k++)
                    if ((s[0]==i)&&(s[1]==j)&&(s[2]==k)) {
                        ok=true;
                        break;
                    } else sum++;
            if (ok) {
                sum+=352;
                printf("%d\n",sum);
            } else {
                printf("0\n");
            }
            continue;
        }

        if (strlen(s)==4) {
            for (i='a';(i<='z')&&(!ok);i++)
                for (j=i+1;(j<='z')&&(!ok);j++)
                for (k=j+1;(k<='z')&&(!ok);k++)
                for (m=k+1;m<='z';m++)
                    if ((s[0]==i)&&(s[1]==j)&&(s[2]==k)&&(s[3]==m)) {
                        ok=true;
                        break;
                    } else sum++;
            if (ok) {
                sum+=2952;
                printf("%d\n",sum);
            } else {
                printf("0\n");
            }
            continue;
        }

        if (strlen(s)==5) {
            for (i='a';(i<='z')&&(!ok);i++)
                for (j=i+1;(j<='z')&&(!ok);j++)
                for (k=j+1;(k<='z')&&(!ok);k++)
                for (m=k+1;(m<='z')&&(!ok);m++)
                for (n=m+1;n<='z';n++)
                    if 
((s[0]==i)&&(s[1]==j)&&(s[2]==k)&&(s[3]==m)&&(s[4]==n)) {
                        ok=true;
                        break;
                    } else sum++;
            if (ok) {
                sum+=17902;
                printf("%d\n",sum);
            } else {
                printf("0\n");
            }
        }

    }
}
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.092毫秒