丑代码,30pts,大佬求助
查看原帖
丑代码,30pts,大佬求助
765573
DreamInk楼主2024/8/12 14:57

记录详情 万紫千红

30 Code

#include<iostream>
using namespace std;
struct node{
	int id;
	int l,r;
	char name;
}a[100005];
int w[100005];
int n;
void dfs(char id){
	cout<<a[id].name;
	if(a[id].l!=0)dfs(a[id].l);
	if(a[id].r!=0)dfs(a[id].r);
}
char x,y,z,s;
int main(){
	cin>>n;
	a[1].id=1;
	cin>>a[1].name;
	w[a[1].name-'a']=a[1].id;
	cin>>y>>z;
	a[w[a[1].name-'a']].l=w[a[1].name-'a']*2;
	a[w[a[1].name-'a']*2].name=y;
	a[w[a[1].name-'a']*2].id=w[a[1].name-'a']*2;
	w[a[w[a[1].name-'a']*2].name-'a']=w[a[1].name-'a']*2;
	a[w[a[1].name-'a']].r=w[a[1].name-'a']*2+1;
	a[w[a[1].name-'a']*2+1].name=z;
	a[w[a[1].name-'a']*2+1].id=w[a[1].name-'a']*2+1;
	w[a[w[a[1].name-'a']*2+1].name-'a']=w[a[1].name-'a']*2+1;
	for(int i=2;i<=n;i++){
		cin>>x>>y>>z;
		if(y!='*'){
			a[w[x-'a']].l=w[x-'a']*2;
			a[w[x-'a']*2].name=y;
			a[w[x-'a']*2].id=w[x-'a']*2;
			w[a[w[x-'a']*2].name-'a']=w[x-'a']*2;
		}
		if(z!='*'){
			a[w[x-'a']].r=w[x-'a']*2+1;
			a[w[x-'a']*2+1].name=z;
			a[w[x-'a']*2+1].id=w[x-'a']*2+1;
			w[a[w[x-'a']*2+1].name-'a']=w[x-'a']*2+1;
		}
	}
	dfs(1);
	return 0;
}

大佬们,我知道这代码很丑,所以大佬们凑合着看吧。

2024/8/12 14:57
加载中...