记录编号 91431 评测结果 AAAA
题目名称 摩尔斯电码 最终得分 100
用户昵称 Gravatarch3coooh 是否通过 通过
代码语言 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 '.';
}