1 solutions
-
3
算法描述
使用 表示是的父亲,然后统计每个节点的孩子节点数目
代码实现
#include<bits/stdc++.h> using namespace std; const int N=2010; vector<int> g[N]; int cnt[N]; bool st[N]; int main() { int n,m; cin>>n>>m; while(m--) { int x,y; cin>>x>>y; g[x].push_back(y); st[y]=1;//表示y一定不是根 } int root=0; int maxv=0; for(int i=1;i<=n;i++) { if(st[i]==0) //找到根节点 { root=i; } if(g[i].size()>g[maxv].size()) //维护孩子最多的节点 { maxv=i; } } cout<<root<<endl; cout<<maxv<<endl; sort(g[maxv].begin(),g[maxv].end()); for(auto x:g[maxv]) { cout<<x<<" "; } return 0; }
- 1
Information
- ID
- 1022
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 18
- Accepted
- 7
- Uploaded By