社区讨论
玄关求教,样例过但全WA
P5318【深基18.例3】查找文献参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhj94ojv
- 此快照首次捕获于
- 2025/11/03 22:45 4 个月前
- 此快照最后确认于
- 2025/11/03 22:45 4 个月前
问需要如何排序,对什么进行排序。
CPP#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
using namespace std;
const int N=1e5+3;
bool vis[N];
vector<int> g[N];
int n,m;
void dfs(int x,int fa){
cout<<x<<" ";
for(auto ne:g[x]){
if(ne==fa||vis[ne]==1) continue;
vis[ne]=1;
dfs(ne,x);
}
}
void bfs(int x){
queue<int> q;
q.push(x);
vis[x]=1;
while(!q.empty()){
cout<<q.front()<<" ";
int fr=q.front();
for(auto ne:g[fr]){
if(vis[ne]==1) continue;
q.push(ne);
vis[ne]=1;
}
q.pop();
}
}
int main(){
cin>>n>>m;
for(int i=1,u,v;i<=m;i++){
cin>>u>>v;
g[u].push_back(v);
}
vis[1]=1;
dfs(1,0);
cout<<'\n';
memset(vis,0,sizeof(vis));
vis[1]=1;
bfs(1);
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...