模板题
找树根和孩子
给定一个树根,求树的根,孩子最多的节点,以及他的孩子
输入
一行 n(节点数) m(边数)
2.以下m行:每行两个节点x,y y是x的孩子
代码
#include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm> using namespace std; int fa[1000],x,y,n,m,sum,maxn,famaxn; int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>x>>y; fa[y]=x; } for(int i=1;i<=n;i++) if(fa[i]==0) { cout<<i<<endl; break; } for(int i=1;i<=n;i++) { sum=0; for(int j=1;j<=n;j++) if(fa[j]==i) sum++; if(sum>maxn) { maxn=sum; famaxn=i; } } cout<<famaxn<<endl; for(int i=1;i<=n;i++) if(fa[i]==famaxn) cout<<i<<" "; return 0; }