2023年12月算法精英大赛A题 摩斯电码 题型:模拟

72 阅读1分钟

赛氪OJ-专注于算法竞赛的在线评测系统 (saikr.com) 02d5ea2c61136eeb02815c1252c7b29.png

#include<bits/stdc++.h>
using namespace std;
map<string,string> mp;
int flag;
int main()
{
mp["01"]="A";
mp["1000"]="B";
mp["1010"]="C";
mp["100"]="D";
mp["0"]="E";
mp["0010"]="F";
mp["110"]="G";
mp["0000"]="H";
mp["00"]="I";
mp["0111"]="J";
mp["101"]="K";
mp["0100"]="L";
mp["11"]="M";
mp["10"]="N";
mp["111"]="O";
mp["0110"]="P";
mp["1101"]="Q";
mp["010"]="R";
mp["000"]="S";
mp["1"]="T";
mp["001"]="U";
mp["0001"]="V";
mp["011"]="W";
mp["1001"]="X";
mp["1011"]="Y";
mp["1100"]="Z";

mp["01111"]="1";
mp["00111"]="2";
mp["00011"]="3";
mp["00001"]="4";
mp["00000"]="5";
mp["10000"]="6";
mp["11000"]="7";
mp["11100"]="8";
mp["11110"]="9";

mp["11111"]="0";

mp["001100"]="?";
mp["10010"]="/";
mp["101101"]="()";
mp["100001"]="-";
mp["010101"]=".";

	string s;getline(cin,s);
	s.append(".");
    	
    string temp;
    for(int i=0;i<s.size();i++)
    {
    	if(s[i]!='.')
    	{
    		temp+=s[i];
		}
		else
		{
	
		cout<<mp[temp];
	    temp.clear();	
			
		} 
	}
	
	return 0;
} 

0960f4eb10c091d06596fa8080a4933.png

一个符号敲错了,让我好一顿DEbug呀: 0cab536907939074c3cecb5b90798b2.png