您的位置:首页 > 其它

poj 1051 P,MTHBGWB

2011-07-17 23:40 197 查看
#include<iostream>
#include<map>
#include<string>
using namespace std;

map<char,string>col;
map<char,string>::iterator ite;
void f(string str)
{
string ss,temp;
int i,top=0,len_pre=0,len[101];
for(i=0;i<str.size();i++)
{
ite=col.find(str[i]);
ss.append(ite->second);
len[++top]=ite->second.length();
}
for(i=top;i>0;i--)
{
temp.assign(ss.begin()+len_pre,ss.begin()+len_pre+len[i]);
len_pre+=len[i];
for(ite=col.begin();;ite++)
if(ite->second==temp)
break;
printf("%c",ite->first);
}
printf("\n");
}
int main()
{
col.insert(pair<char,string>('A',".-"));
col.insert(pair<char,string>('B',"-..."));
col.insert(pair<char,string>('C',"-.-."));
col.insert(pair<char,string>('D',"-.."));
col.insert(pair<char,string>('E',"."));
col.insert(pair<char,string>('F',"..-."));
col.insert(pair<char,string>('G',"--."));
col.insert(pair<char,string>('H',"...."));
col.insert(pair<char,string>('I',".."));
col.insert(pair<char,string>('J',".---"));
col.insert(pair<char,string>('K',"-.-"));
col.insert(pair<char,string>('L',".-.."));
col.insert(pair<char,string>('M',"--"));
col.insert(pair<char,string>('N',"-."));
col.insert(pair<char,string>('O',"---"));
col.insert(pair<char,string>('P',".--."));
col.insert(pair<char,string>('Q',"--.-"));
col.insert(pair<char,string>('R',".-."));
col.insert(pair<char,string>('S',"..."));
col.insert(pair<char,string>('T',"-"));
col.insert(pair<char,string>('U',"..-"));
col.insert(pair<char,string>('V',"...-"));
col.insert(pair<char,string>('W',".--"));
col.insert(pair<char,string>('X',"-..-"));
col.insert(pair<char,string>('Y',"-.--"));
col.insert(pair<char,string>('Z',"--.."));
col.insert(pair<char,string>('_',"..--"));
col.insert(pair<char,string>('.',"---."));
col.insert(pair<char,string>(',',".-.-"));
col.insert(pair<char,string>('?',"----"));

string str;
int t;
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>str;
printf("%d: ",i);
f(str);
}
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: