RE求改
查看原帖
RE求改
779432
hod_official楼主2024/7/26 14:27

萌新求教

#include<bits/stdc++.h>
using namespace std;

const int maxl=60;
struct node{
	int ll,rr;
}a[maxl];
int n,root;
char ss[5];
int v[maxl];
void dfs(int k){
	printf("%c",k+'a'-1);
	if(a[k].ll){
		dfs(a[k].ll);
	}
	if(a[k].rr){
		dfs(a[k].rr);
	}
}

int main (){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%s",ss);
		v[ss[0]-'a'+1]++;
		v[ss[1]-'a'+1]++;
		v[ss[2]-'a'+1]++;
		if(ss[1]!='*'){
			a[ss[0]-'a'+1].ll=ss[1]-'a'+1;
			v[ss[1]-'a'+1]++;	
		}
		if(ss[2]!='*'){
			a[ss[0]-'a'+1].rr=ss[2]-'a'+1;
			v[ss[1]-'a'+1]++;
		}
		for(root=1;;root++){
			if(v[root]==1){
				break;
			}
		}
		dfs(root);
		printf("\n");
	}
	return 0;
}
2024/7/26 14:27
加载中...