3 条题解

  • 1
    @ 2022-12-8 20:56:34

    vecotr动态数组写法

    #include<bits/stdc++.h>
    using namespace std;
    int m,n;   //m边 n节点
    vector<int> e[110];
    bool pd[110];
    int main()
    {
    	cin>>n>>m;
    	int father,son;  //输入用 
    	for(int i=1;i<=m;i++)
    	{
    		cin>>father>>son;
    		e[father].push_back(son);
    		pd[son]=1;
    	}
    	int gen;  //存储根节点 
    	for(int i=1;i<=n;i++)
    		if(pd[i]==0)
    		{
    			gen=i;
    			cout<<gen<<'\n';
    			break;
    		}//找根节点
    	int maxx=0,pos;  //存储 拥有 最多子节点 的 节点,以及节点的位置 
    	for(int i=1;i<=n;i++)
    	{
    		if(e[i].size()>maxx)
    		{
    			maxx=(int)e[i].size();
    			pos=i;
    		}
    	}  //找最多子节点
    	cout<<pos<<'\n';
    	sort(e[pos].begin(),e[pos].end());  //要求按照从小到大输出 
    	for(int i=0;i<(int)e[pos].size();i++)
    		cout<<e[pos][i]<<" ";
    	return 0;
    }
    

    信息

    ID
    555
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    (无)
    递交数
    72
    已通过
    37
    上传者