如果二维数组开大了,就爆了。
该怎么调。求问大佬
#include<bits/stdc++.h>
using namespace std;
int n,e;
const int N=1e5+5;
int head,tail;
int que[100005];
int nodeT[1005][1005];
bool f[100005];
void bfs(){
head=tail=1;
que[1]=1,f[1]=1;
while(head<=tail){
for(int i=1;i<=e;i++){
if(nodeT[que[head]][i]==1&&!f[i]){
cout<<i<<" ";
f[i]=1,++tail;
que[tail]=i;
}
}
head++;
}
}
void dfs(int dep,int j){
if(j==n) return;
for(int i=1;i<=n;i++){
if(!f[i]&&nodeT[dep][i]==1) {
cout<<i<<" ";
f[i]=true;
dfs(i,j+1);
}
}
}
signed main(){
cin>>n>>e;
for(int i=1;i<=e;i++){
int x,y;
cin>>x>>y;
nodeT[x][y]=1;
nodeT[y][x]=1;
}
f[1]=1;
cout<<1<<" ";
dfs(1,1);
memset(f,0,sizeof(f));
cout<<endl;
cout<<1<<" ";
bfs();
return 0;
}