样例过的求大佬帮改代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=10000+5;
int n,m;
int G[maxn][maxn];
struct edge {
int v,w;
};
vector<int>g[maxn];
bool vis[maxn];
void dfs(int u) {
cout<<u;
vis[u]=true;
for(int v:g[u])if(!vis[v])dfs(v);
}
bool vs[maxn];
void bfs(int s) {
queue<int> que;
vs[s]=true;
que.push(s);
while(!que.empty()) {
int u=que.front();
que.pop();
cout<<u;
for(int v:g[u]) {
if(!vs[v]){
vs[v]=true;
que.push(v);
}
}
}
}
int main() {
cin>>n>>m;
while(m--) {
int u,v;
cin>>u>>v;
g[u].push_back(v);
}
dfs(1);
cout<<endl;
bfs(1);
return 0;
}
估计是bfs有问题