ZOJ 1858 Soundex

秒杀题。题意为,输入一串字符。按照给出的规则输出一个数字或者不输出。还有相邻字符为同一个规则的话,则输出一个即可。

#include<iostream>
#include<string>
using namespace std;
int num[26]={0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2};
int main()
{
    string str;
    int i;
    while(cin>>str)
    {
        for(i=0;i<str.length()-1;i++)
        {
            if(num[str[i]-'A']==0||num[str[i]-'A']==num[str[i+1]-'A']) continue;
            cout<<num[str[i]-'A'];
        }
        if(num[str[i]-'A']!=0) cout<<num[str[i]-'A'];
        cout<<endl;
    }
    return 0;
}

posted @ 2011-04-20 20:17  watana  阅读(165)  评论(0编辑  收藏  举报