为什么会内存超限啊???!!!
查看原帖
为什么会内存超限啊???!!!
1062697
hellocccl楼主2024/1/15 17:45

#include<bits/stdc++.h>

using namespace std;

#define int long long

const int N=1e5+8;

vector<int>g[N];
int vis[N];
//dfs
void dfs(int x){
    if(vis[x]==0){
        cout<<x<<" ";
        vis[x]=1;
    }
    for(auto cl:g[x])dfs(cl);
}

//bfs
void bfs(int x){
    memset(vis,0,sizeof vis);
    queue<int>qu;
    qu.push(x);
    while(qu.size()){
        int y=qu.front();
        qu.pop();
        if(vis[y]==0){
            cout<<y<<" ";
            vis[y]=1;
        }
        for(auto w:g[y])qu.push(w);
    }
}


signed main(){      
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int n,m;cin>>n>>m;
    for(int i=1;i<=m;i++){
        int x,y;cin>>x>>y;
        g[x].push_back(y);
    }
    for(int i=1;i<=n;i++)sort(g[i].begin(),g[i].end());
    dfs(1);
    cout<<'\n';
    bfs(1);
    return 0;
}
2024/1/15 17:45
加载中...