社区讨论
0分求调
P5318【深基18.例3】查找文献参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lrso6381
- 此快照首次捕获于
- 2024/01/25 11:43 2 年前
- 此快照最后确认于
- 2024/01/25 14:25 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<bool>vis;
vector<vector<int> >adj;
void bfs(int u){
queue<int>q;
q.push(u);
vis[u]=false;
while(!q.empty()){
int now=q.front();
printf("%d ",now);
q.pop();
for(int nxt:adj[now]){
if(!vis[nxt])continue;
vis[nxt]=false;
q.push(nxt);
}
}
}
void dfs(int u){
if(vis[u])return;
vis[u]=true;
printf("%d ",u);
for(int v:adj[u])dfs(v);
}
int main(){
scanf("%d%d",&n,&m);
vis.resize(n+1,false);
adj.resize(n+1);
for(int i=1,u,v;i<=m;i++){
scanf("%d%d",&u,&v);
adj[u].push_back(v);
}
for(vector<int> u:adj)
sort(u.begin(),u.end());
dfs(1);printf("\n");bfs(1);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...