第四周_算法提高_9-3摩尔斯电码

2022-06-28 18:52:55 浏览数 (1)

本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。

代码语言:javascript复制
#include<iostream>
#include<cstring>
using namespace std;
void print(char ch1[4]){
	char ch2[26][4];
	ch2[0][0]='*';ch2[0][1]='-';ch2[0][2]='a';ch2[0][3]='a';
	ch2[1][0]='-';ch2[1][1]='*';ch2[1][2]='*';ch2[1][3]='*';
	ch2[2][0]='-';ch2[2][1]='*';ch2[2][2]='-';ch2[2][3]='*';
	ch2[3][0]='-';ch2[3][1]='*';ch2[3][2]='*';ch2[3][3]='a';
	ch2[4][0]='*';ch2[4][1]='a';ch2[4][2]='a';ch2[4][3]='a';
	ch2[5][0]='*';ch2[5][1]='*';ch2[5][2]='-';ch2[5][3]='*';
	ch2[6][0]='-';ch2[6][1]='-';ch2[6][2]='*';ch2[6][3]='a';
	ch2[7][0]='*';ch2[7][1]='*';ch2[7][2]='*';ch2[7][3]='*';
	
	ch2[8][0]='*';ch2[8][1]='*';ch2[8][2]='a';ch2[8][3]='a';
	ch2[9][0]='*';ch2[9][1]='-';ch2[9][2]='-';ch2[9][3]='-';
	ch2[10][0]='-';ch2[10][1]='*';ch2[10][2]='-';ch2[10][3]='a';
	ch2[11][0]='*';ch2[11][1]='-';ch2[11][2]='*';ch2[11][3]='*';
	ch2[12][0]='-';ch2[12][1]='-';ch2[12][2]='a';ch2[12][3]='a';
	ch2[13][0]='-';ch2[13][1]='*';ch2[13][2]='a';ch2[13][3]='a';
	ch2[14][0]='-';ch2[14][1]='-';ch2[14][2]='-';ch2[14][3]='a';
	ch2[15][0]='*';ch2[15][1]='-';ch2[15][2]='-';ch2[15][3]='*';
	
	ch2[16][0]='-';ch2[16][1]='-';ch2[16][2]='*';ch2[16][3]='-';
	ch2[17][0]='*';ch2[17][1]='-';ch2[17][2]='*';ch2[17][3]='a';
	ch2[18][0]='*';ch2[18][1]='*';ch2[18][2]='*';ch2[18][3]='a';
	ch2[19][0]='-';ch2[19][1]='a';ch2[19][2]='a';ch2[19][3]='a';
	ch2[20][0]='*';ch2[20][1]='*';ch2[20][2]='-';ch2[20][3]='a';
	ch2[21][0]='*';ch2[21][1]='*';ch2[21][2]='*';ch2[21][3]='-';
	ch2[22][0]='*';ch2[22][1]='-';ch2[22][2]='-';ch2[22][3]='a';
	ch2[23][0]='-';ch2[23][1]='*';ch2[23][2]='*';ch2[23][3]='-';
	ch2[24][0]='-';ch2[24][1]='*';ch2[24][2]='-';ch2[24][3]='-';
	ch2[25][0]='-';ch2[25][1]='-';ch2[25][2]='*';ch2[25][3]='*';	
	for(int i=0;i<26;i  ){
		if(!strcmp(ch1,ch2[i])){
			cout<<char('a' i);
		}
		if(ch1[0]==ch2[i][0]&&ch1[1]==ch2[i][1]&&ch1[2]==ch2[i][2]&&ch1[3]==ch2[i][3]){
			cout<<char('a' i);
		}
	}
}
int main(){
	char ch[10000];
	memset(ch,'a',sizeof(ch));
	while(cin>>ch){
		int j=0,i=0;
		char ch1[4];
		memset(ch1,'a',sizeof(ch1));
		while(ch[i]!='a'){
			if(ch[i]=='|'){
				print(ch1);
				memset(ch1,'a',sizeof(ch1));
				j=0;
			}
			else{
				ch1[j]=ch[i];
				j  ;
			}			
			i  ;
		}
		if(j==2){
			ch1[1]='a';
			ch1[2]='a';
			ch1[3]='a';
		}
		if(j==3){
			ch1[2]='a';
			ch1[3]='a';
		}
		if(j==4){
			ch1[3]='a';
		}
		print(ch1);	
		memset(ch,'a',sizeof(ch));
	}
	return 0;
}

Post Views: 182

0 人点赞