玄1关,求助!
查看原帖
玄1关,求助!
993842
J_ALVAREZ楼主2024/5/19 13:50
#include <bits/stdc++.h>
using namespace std;
struct treenode{ //建树,此部分无误
	int data;
	treenode* parent;
	vector<treenode*> child;
	treenode(int d) {
		data=d;
		parent=NULL;
		child=vector<treenode*>();
	}
};
void dfs(treenode* root) {   //深搜,此部分无误
	if(root==NULL)
		return ;
	cout<<root->data<<" ";
	for(int i=0;i<root->child.size();i++)
		dfs(root->child[i]);
}
int n,i,A,B;
int main() {
 	treenode* node[25]={NULL};
	scanf("%d",&n);
	int k,minn=INT_MAX;
	for(i=1;i<=n;i++) {
		scanf("%d",&A);
		int cnt=0;
		while(A!=0) {
			cnt++;
			node[i]=new treenode(i);
			node[A]->parent=node[i];
			node[i]->child.push_back(node[A]);
			scanf("%d",&A);
		}
		if(cnt>minn) {
			minn=cnt;
			k=i;
		}  //记录哪个节点子节点最多
	}
	dfs(node[k]);
}
 

为啥程序输入不了?

2024/5/19 13:50
加载中...