3 条题解
-
2
#include<bits/stdc++.h> #define endl "\n" using namespace std; vector<int> e[100005]; bool vis[100005];//用于找根节点 int main() { ios::sync_with_stdio(false); cin.tie(0); int n,m; cin>>n>>m; for(int i=1;i<=m;i++) { int x,y; cin>>x>>y; e[x].push_back(y); vis[y]=1; } int maxx=1; for(int i=1;i<=n;i++) { sort(&e[i][0],&e[i][e[i].size()]);//对子节点排序 if(e[i].size()==e[maxx].size()) if(i<maxx) maxx=i;//取较小的节点 if(e[i].size()>e[maxx].size()) maxx=i; } int ans; for(int i=1;i<=n;i++) if(vis[i]==0) ans=i; cout<<ans<<endl; cout<<maxx<<endl; for(int i=0;i<e[maxx].size();i++) cout<<e[maxx][i]<<" "; return 0; }
信息
- ID
- 555
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 72
- 已通过
- 37
- 上传者