BD202328 传信游戏

题目详情
题目简介:单出边的图,找到不含环的点。
思路:bfs/dfs,反向搜索,从ti=0的点出发,能搜到的点都是不含环的。

#include<bits/stdc++.h> 

using namespace std;

int dfs(int temp, vector<vector<int>>& edge){
    int ans = temp;
    for(auto &it : edge[temp])
        ans ^= dfs(it, edge);
    return ans;
}

int main( )
{
    int N;
    cin>>N;
    vector<vector<int>> edge(N+1);
    vector<int> T(N+1);
    for(int i = 1; i <= N; i++){
        cin>>T[i];
        edge[T[i]].push_back(i);
    }
    int ans = 0;
    ans = dfs(0, edge);
    cout<<ans<<endl;
    return 0;
}
posted @ 2025-06-10 23:22  zerolt  阅读(7)  评论(0)    收藏  举报