记录编号 |
91431 |
评测结果 |
AAAA |
题目名称 |
摩尔斯电码 |
最终得分 |
100 |
用户昵称 |
ch3coooh |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.039 s |
提交时间 |
2014-03-14 18:49:44 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
char find(string str);
int main()
{
ifstream fin("Morse.in");
ofstream fout("Morse.out");
string s;
getline(fin,s);
s+=' ';
//fout<<s;
int i,j,len=s.length(),bl=0;
for(i=0;i<len;i++)
{
if(s[i]!=' ')
{
if(bl>3)
fout<<' ';
bl=0;
string str;
j=i;
while(1)
{
if(s[j]==' ') break;
str+=s[j];
j++;
}
fout<<find(str);
i=j-1;
}
else bl++;
}
fin.close();
fout.close();
return 0;
}
char find(string str)
{
if(str==".-") return 'A';
if(str=="-...") return 'B';
if(str=="-.-.") return 'C';
if(str=="-..") return 'D';
if(str==".") return 'E';
if(str=="..-.") return 'F';
if(str=="--.") return 'G';
if(str=="....") return 'H';
if(str=="..") return 'I';
if(str==".---") return 'J';
if(str=="-.-") return 'K';
if(str==".-..") return 'L';
if(str=="--") return 'M';
if(str=="-.") return 'N';
if(str=="---") return 'O';
if(str==".--.") return 'P';
if(str=="--.-") return 'Q';
if(str==".-.") return 'R';
if(str=="...") return 'S';
if(str=="-") return 'T';
if(str=="..-") return 'U';
if(str=="...-") return 'V';
if(str==".--") return 'W';
if(str=="-..-") return 'X';
if(str=="-.--") return 'Y';
if(str=="--..") return 'Z';
if(str=="-----") return '0';
if(str==".----") return '1';
if(str=="..---") return '2';
if(str=="...--") return '3';
if(str=="....-") return '4';
if(str==".....") return '5';
if(str=="-....") return '6';
if(str=="--...") return '7';
if(str=="---..") return '8';
if(str=="----.") return '9';
if(str=="..--..") return '?';
if(str=="-.--.") return '(';
if(str=="-.--.-") return '(';
if(str=="-..-.") return '/';
if(str==".----.") return '-';
if(str==".-.-.-") return '.';
}