|
Posted on 2010-08-19 01:45 Kevin_Zhang 阅读(151) 评论(0) 编辑 收藏 引用 所属分类: 模拟
#include "iostream"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include "string"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include "ctype.h"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include "algorithm"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
#include "Map"
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
using namespace std;
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif) char a[34][9]= {".-","- ","-.-.","-..",".","..-.","--."," .","..",".---","-.-",".-..",
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
"--","-.","---",".--.","--.-",".-."," ","-","..-"," -",".--","-..-","-.--","--..","..--",".-.-","---.","----"};
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif) int b[34]= {2,4,4,3,1,4,3,4,2,4,3,4,2,2,3,4,4,3,3,1,3,4,3,4,4,4,4,4,4,4};
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
int main()
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int m,n;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int i;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int count=0;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int num[800],num2[800];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
char word[1900];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
char ch;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
map<string, char> mapcode;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<26;i++)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch='A'+i;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
mapcode.insert(pair<string, char>(a[i],ch));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch='_';
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
mapcode.insert(pair<string, char>(a[26],ch));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch=',';
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
mapcode.insert(pair<string, char>(a[27],ch));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch='.';
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
mapcode.insert(pair<string, char>(a[28],ch));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch='?';
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
mapcode.insert(pair<string, char>(a[29],ch));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int nSize = mapcode.size();
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) /**//*for(i= 0,ch='A'; i < nSize; i++)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
{
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
cout<<mapcode[a[i]]<<" "<<a[i]<<" "<<b[i]<<endl;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}*/
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
cin>>n;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
getchar();
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
while(n--)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
count++;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
i=0;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
memset(num,0,sizeof(num));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
memset(num2,0,sizeof(num2));
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
string temp("");
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
while(1)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
ch=getchar();
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
if(ch=='\n') break;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
if(ch=='_')
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
temp=temp+a[26];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num[i]=b[26];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
else if(ch==',')
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
temp=temp+a[27];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num[i]=b[27];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
else if(ch=='.')
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
temp=temp+a[28];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num[i]=b[28];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
else if(ch=='?')
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
temp=temp+a[29];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num[i]=b[29];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
else if(isalpha(ch))
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {temp=temp+a[ch-'A'];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num[i]=b[ch-'A'];}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
i++;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int len=i-1;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
for(i=0;i<=len;i++)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
num2[i]=num[len-i];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
// cout<<num2<<endl;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
//cout<<temp<<endl;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
int k=0;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
cout<<count<<": ";
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
for(i= 0;i<=len; i++)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
cout<<mapcode[temp.substr(k,num2[i])];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
k=k+num2[i];
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
cout<<endl;
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
}
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
|