求助10分!!!
  • 板块P3916 图的遍历
  • 楼主qjxqjx
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/1/22 09:12
  • 上次更新2023/10/28 11:36:21
查看原帖
求助10分!!!
481718
qjxqjx楼主2022/1/22 09:12
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int n,m,cnt;
struct node{
    int to,next;
}a[maxn];
int ans[maxn]={0},head[maxn];
void add(int u,int v){
    a[cnt].to=v;
    a[cnt].next=head[u];
    head[u]=cnt++;
}
void dfs(int u,int v){
    if(ans[v]!=0){
        return ;
    }
    ans[v]=u;
    for(int i=head[v];i!=-1;i=a[i].next){
        int v1=a[i].to;
        dfs(u,v1);
    }
}
int main(){
    cin>>n>>m;
    fill(head+1,head+n+1,-1);
    for(int i=1;i<=m;i++){
        int u,v;
        cin>>u>>v;
        add(u,v);
    }
    for(int i=n;i>=1;i--){
        dfs(i,i);
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i]<<" ";
    }
    return 0;
}

求助10分!!!

2022/1/22 09:12
加载中...