ZZNUOJ 2022 摩斯密码

时间:2021-05-29 23:30:32

map打表存一下对应的密码   不会map感觉不好弄这题

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>
#include<iostream>
#include<ctype.h>
#include<map>
#include<set>
#include<string>
#include<vector>
#include<algorithm>
#include<stdlib.h>
#include<queue>
#include<stack>
using namespace std; map<string,char>M;
void init()
{
M[".-"]='a';M["-..."]='b';M["-.-."]='c';M["-.."]='d';
M["."]='e';M["..-."]='f';M["--."]='g';M["...."]='h';
M[".."]='i';M[".---"]='j';M["-.-"]='k';M[".-.."]='l';
M["--"]='m';M["-."]='n';M["---"]='o';M[".--."]='p';
M["--.-"]='q';M[".-."]='r';M["..."]='s';M["-"]='t';
M["..-"]='u';M["...-"]='v';M[".--"]='w';M["-..-"]='x';
M["-.--"]='y';M["--.."]='z';
M["-----"]='';M[".----"]='';M["..---"]='';M["...--"]='';
M["....-"]='';M["....."]='';M["-...."]='';M["--..."]='';
M["---.."]='';M["----."]='';
}
char str[];
int main()
{
long long n,m,i,j,k;
int t;
init();
scanf("%d",&t);
getchar();
while(t--)
{
string ans="";
string tem="";
gets(str);
long long l=strlen(str);
for(i=;i<l;i++)
{
if(str[i]==' ')
{
ans+=M[tem];
tem="";
if(str[i+]==' ')
{
ans+=' ';
i++;
}
}
else
tem+=str[i];
}
ans+=M[tem];
for(i=;i<ans.size();i++)
{
if(isalpha(ans[i]))
ans[i]=tolower(ans[i]); }
cout<<ans<<endl;
} }