2 solutions

  • 1
    @ 2025-8-20 10:16:45
    #include<bits/stdc++.h>
    using namespace std;
    const int N=310;
    bool st[N];
    vector<int> g[N];
    void dfs(int u) //遍历以u为根的子树 
    {
    	st[u]=1;
    	for(auto x:g[u])
    	{
    		dfs(x);
    	}
    }
    int main()
    {
    	int n;
    	cin>>n;
    	for(int i=1;i<n;i++) //建立树结构 
    	{
    		int x;
    		cin>>x;
    		g[x].push_back(i);
    	}
    	int m;
    	cin>>m;
    	while(m--) //m次询问 
    	{
    		int x;
    		cin>>x;
    		vector<int> v;
    		for(int i=0;i<x;i++)
    		{
    			int t;
    			cin>>t;
    			v.push_back(t);
    		}
    		for(int i=n-1;i>=0;i--) //从大到小访问所有节点 
    		{
    			memset(st,0,sizeof st); //清空标记 
    			dfs(i);
    			int cnt=0; //不合法个数 
    			for(auto x:v)
    			{
    				if(!st[x])
    				{
    					cnt=1;
    				}
    			}
    			if(cnt==0) //没有不合法个数 
    			{
    				cout<<i<<endl;
    				break;
    			}
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2026-2-28 20:35:34
      #include<bits/stdc++.h>
      using namespace std;
      const int N=350;
      vector<int> g[N];
      bool st[N]; 
      void dfs(int u)
      {
      	st[u]=1;
      	for(auto j:g[u])
      	{
      		dfs(j);
      	}
      }
      int main()
      {
      	int n;
      	cin>>n;
      	for(int i=1;i<n;i++)
      	{
      		int x;
      		cin>>x;
      		g[x].push_back(i);
      	}
      	int m;
      	cin>>m;
      	while(m--)
      	{
      		int x;
      		cin>>x;
      		vector<int> v;
      		for(int i=1;i<=x;i++)
      		{
      			int t;
      			cin>>t;
      			v.push_back(t);	
      		} 
      		int ans=-1;
      		for(int i=0;i<n;i++)
      		{
      			memset(st,0,sizeof st);
      			dfs(i);//去管理对应的人
      			int cnt=0;
      			for(auto x:v)
      			{
      				if(st[x]==0) cnt++;	
      			} 
      			if(cnt==0)
      			{
      				ans=i;
      			}
      		}
      		cout<<ans<<endl;
      	}
      	return 0;
      }
      
      
      • 1

      Information

      ID
      2541
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      5
      Tags
      (None)
      # Submissions
      12
      Accepted
      4
      Uploaded By