大佬调一下无输出,感觉思路没问题
查看原帖
大佬调一下无输出,感觉思路没问题
1378050
CodeEmperor楼主2024/8/14 15:21
#include<bits/stdc++.h>
using namespace std;
const int N = 10010;
vector<int >e[N];
void add(int u,int v){
    e[u].push_back(v);
}
int n,m;
int vis[N];
void dfs(int u);
int main(){ 
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int u,v;
        scanf("%d%d",&u,&v);
        add(u,v);
    }
    for(int i=1;i<=n;i++){
        dfs(i);
        memset(vis,0,sizeof(vis));
    }
    return 0;
}
void dfs(int j){
    if(vis[j]==1)
    {
        cout<<j<<" ";
        return;
    } 
    vis[j] = 1;
    for(int i=0;i<e[j].size();i++)
    {
        int v = e[j][i];
        if(vis[v]==0)
        {
            dfs(v);
        }
    }
}
2024/8/14 15:21
加载中...