#include<iostream>
#include<string>
#include<map>
#include<vector>
using namespace std;
/*
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述: 拼音 yi er san si wu liu qi ba jiu
阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符只包含小写字母,所有字符都可以正好匹配
运行时间限制:无限制
内存限制: 无限制
输入: 一行字符串,长度小于1000
输出: 一行字符(数字)串
样例输入: yiersansi
样例输出: 1234
*/
vector<char> Translation( char * InPutStr){
map<char,char> Dic;
vector<char>OutPut_C;
Dic['y']='1';
Dic['e']='2';
Dic['w']='5';
Dic['l']='6';
Dic['q']='7';
Dic['b']='8';
Dic['j']='9';
char *p=InPutStr;
while(*p!='\0'&&*p!=NULL){
if(*p=='y'||*p=='e'||*p=='w'|*p=='q'||*p=='b'||*p=='l'||*p=='j'){
if(*p=='l'||*p=='j'){
OutPut_C.push_back(Dic[*p]);
p+=3;
}
else{
OutPut_C.push_back(Dic[*p]);
p+=2;
}
}
else if(*p=='s'){
p++;
if(*p=='i'){
OutPut_C.push_back('4');
p++;
}
else{
OutPut_C.push_back('3');
p+=2;
}
}
}
return OutPut_C;
}
int main(){
char *InPutStr="wueryisanyisi";
vector<char>out=Translation(InPutStr);
int k=0;
while(k<out.size()){
cout<<out[k];
k++;
}
return 0;
}