CDOJ_511题解

题目链接:
http://mozhu.today/#/problem/show/511
题解:
本题题意略有问题,考虑到了’_’、’*’、’+’、’#’符号。且开数组时不能刚好开50,猜测系统把\n也看做了字符。
代码:

#include 
#include 
#include 
#include 
//CDOJ511

int main()
{
    int t;
    int i,j;
    int len;
    int sum[51]= {0};
    int index[51];
    char str[51];
    scanf("%d",&t);
    for(i=0; i"%s",str);
        len=strlen(str);
        for(j=0; jif(str[i]=='#')
                index[i]=12;
            else if(str[i]=='_')
                index[i]=1;
            else if(str[i]=='+')
                index[i]=11;
            else if(str[i]=='*')
                index[i]=10;
            else
            {
                if(str[j]<'P')
                    index[j]=2+(str[j]-'A')/3;
                else if(str[j]<'T')
                    index[j]=7;
                else if(str[j]<'W')
                    index[j]=8;
                else
                    index[j]=9;
            }
        }
        for(j=0; j1; j++)
        {
            if(index[j]!=index[j+1])
                sum[i]++;
        }
    }
    for(i=0; i"Case #%d: %d\n",i+1,sum[i]);
    return 0;
}

你可能感兴趣的:(ACM题解)