闻灌佬多
  • 板块灌水区
  • 楼主Alananan
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/26 16:27
  • 上次更新2024/7/26 17:40:35
查看原帖
闻灌佬多
1112027
Alananan楼主2024/7/26 16:27
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int n;
char a[5]; 
int bo[30],lson[30],rson[30];
int findroot(){
	for(int i = 1;i <= 26;i++){
		if(bo[i] == 1) return i;
	}
}
void point(int r){
	cout<<char(r + 'a' - 1);
	if(lson[r] != 0) point(lson[r]);
	if(rson[r] != 0) point(rson[r]);
}
int main(){
	cin>>n;
	for(int i = 1;i <= n;i++){
		cin>>a[1]>>a[2]>>a[3];
		lson[a[1] - 'a' + 1] = a[2] - 'a' + 1;
		rson[a[1] - 'a' + 1] = a[3] - 'a' + 1;
		if(a[1] != '*') {
			bo[a[1] - 'a' + 1] ++;
		}
		if(a[2] != '*'){
			bo[a[2] - 'a' + 1] ++;	
		} 
		if(a[3] != '*'){
			bo[a[3] - 'a' + 1] ++;		
		} 
	}
	int root = findroot();
	point(root);
	return 0;
}

原题地址

麻烦问一下大概问题出在哪里?输出是bdbd.......

2024/7/26 16:27
加载中...