社区讨论

求de

P10109[GESP202312 六级] 工作沟通参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mizys7su
此快照首次捕获于
2025/12/10 20:07
2 个月前
此快照最后确认于
2025/12/10 20:08
2 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;

vector<int>g[305];
bool vis[305];
vector<int>t[305];
int input[305];

void dfs(int now,int put)
{
    t[now].push_back(put);
    for(auto i : g[now])
        if(vis[i] == 0)
        {
            vis[i] = 1;
            dfs(i,put);
        }
}

int main()
{
    int n;
    cin >> n;
    for(int i = 1,tt;i<n;i++)
    {
        cin >> tt;
        g[tt].push_back(i);
    }
    
    cout << endl;
    cout << endl;
    cout << endl;
    
    
    
    for(int i = n-1;i>=0;i--)
    {
        memset(vis,0,sizeof vis);
        vis[i] = 1;
        dfs(i,i);
    }
    
    int ttt;
    cin >> ttt;
    while(ttt--)
    {	
    	//cout << 114514 << endl;
    	int t1;bool flag = 1;
    	cin >> t1;
    	memset(input,0,sizeof input);
    	for(int j = 1;j<=t1;j++)
    	{
    		int t2;
    		cin >> t2;
    		for(auto k : t[t2])input[k]++;
    	}
    	for(int j = n-1;j>=0;j--)
    	{
    		if(input[j] == t1)
    		{
    			flag = 0;
    			cout << j << endl;
    			break;
    		}
    	}
    	if(flag)cout << 0 << endl;
    }
    // for(int i = 0;i<n;i++)
    // {
    //     for(auto j : t[i])
    //     {
    //         cout << j << ' ';
    //     }
    //     cout << endl;
    // }
    //遍历图
}

回复

0 条回复,欢迎继续交流。

正在加载回复...