3 条题解

  • 2
    @ 2022-12-8 21:08:49
    #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
    上传者