1AC,9WA
查看原帖
1AC,9WA
586768
User586768楼主2023/10/4 15:03
#include "bits/stdc++.h"
using namespace std;
int n,m,f[100010],vis[100010];
vector<int> a[100010];
int dfs(int val){
    if(f[val]==0){
        f[val]=val;
        vis[val]++;
        for(auto p:a[val]){
            if(vis[p]==0){
                vis[p]++;
                f[val]=max(f[val],dfs(p));
                vis[p]--;
            }
        }
        vis[val]--;
    }
    return f[val];
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin>>n>>m;
    memset(f,0,sizeof(f));
    for(int i=0;i<m;i++){
        int u,v;
        cin>>u>>v;
        a[u].push_back(v);
    }
    for(int i=1;i<=n;i++){
        cout<<dfs(n)<<' ';
    }
    return 0;
}
2023/10/4 15:03
加载中...