求助大佬
查看原帖
求助大佬
359430
江户川コナン楼主2021/7/27 21:44

求助!第四个点WA了

代码:

#include <bits/stdc++.h>
using namespace std;
int n,m;
const int maxn=1e6+5;
vector<int> G[maxn];
int x,y;
bool b[maxn];
void dfs(int x){
    b[x]=true;
    cout<<x<<" ";
    for(int i=0;i<G[x].size();i++){
        if(!b[G[x][i]]){

            dfs(G[x][i]);
        }
    }
}
void bfs(int i){
    queue<int> q;
    q.push(i);
    b[i]=true;
    while(!q.empty()){
        int x=q.front();
        cout<<x<<" ";
        q.pop();
        for(int i=0;i<G[x].size();i++){
            if(!b[G[x][i]]){
                q.push(G[x][i]);
                b[G[x][i]]=true;
            }
        }
    }
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>x>>y;
        G[x].push_back(y);
    }
    for(int i=1;i<=n;i++){
        sort(G[i].begin(),G[i].end());
    }
    dfs(1);
    for(int i=1;i<=n;i++){
        if(!b[i]){
            dfs(i);
        }
    }
    cout<<endl;
    memset(b,false,sizeof b);
    bfs(1);
    for(int i=1;i<=n;i++){
        if(!b[i]){
            bfs(i);
        }
    }
    cout<<endl;
    return 0;
}

恳请各位大佬指点迷津

2021/7/27 21:44
加载中...