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; }