树的存储
2025-01-08 12:03:39
发布于:北京
#include<iostream>
#include<set>
#include<vector>
#include<queue>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstdio>
using namespace std;
const int N=105;
struct node{
int father;
int data;
vector<int> chd;
}tr[N];//树节点
int main(){
int n,w,q;
cin>>n;
for(int i=1;i<=n;i++){
cin>>tr[i].data;//输入值
int k;
cin>>k;
for(int j=1;j<=k;j++){
int x;
cin>>x;
tr[i].chd.push_back(x);
tr[x].father=i;
}
sort(tr[i].chd.begin(),tr[i].chd.end());
}
cin>>q;
while(q--){
int t;
cin>>t;
cout<<tr[t].data<<" "<<tr[t].father<<" ";
for(int j=0;j<tr[t].chd.size();j++){
int id=tr[t].chd[j];
cout<<tr[id].data<<" ";
}
cout<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个