社区讨论
求条
P5318【深基18.例3】查找文献参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m6and8hk
- 此快照首次捕获于
- 2025/01/24 18:56 去年
- 此快照最后确认于
- 2025/11/04 10:43 4 个月前
如果二维数组开大了,就爆了。
AC+RE 。
该怎么调。求问大佬
CPP#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;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...