洛谷P5318 【深基18.例3】查找文献

https://www.luogu.com.cn/problem/P5318

复制代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> e[100005];
bool vis[100005];
void dfs(int u){
	cout<<u<<" ";
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		if(!vis[v]){
			vis[v]=1;
			dfs(v);
		}
		
	}
} 
void bfs(){
	memset(vis,0,sizeof(vis));
	queue<int>q;
	q.push(1);
	vis[1]=1;
	while(!q.empty()){
		int u=q.front();
		q.pop();
		cout<<u<<" ";
		for(int i=0;i<e[u].size();i++){
			int v=e[u][i];
			if(!vis[v]){
				vis[v]=1;
				q.push(v);
			}
		}
	}
} 
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		e[u].push_back(v);
	}
	for(int i=1;i<=n;i++){
		sort(e[i].begin(),e[i].end());
	} 
	vis[1]=1;
	dfs(1);
	cout<<endl;
	bfs();
	return 0;
}
相关推荐
YIN_尹15 小时前
【Linux系统编程】进程地址空间
linux·c++
EverestVIP15 小时前
C++中空类通常大小为1的原理
c++
white-persist15 小时前
【vulhub shiro 漏洞复现】vulhub shiro CVE-2016-4437 Shiro反序列化漏洞复现详细分析解释
运维·服务器·网络·python·算法·安全·web安全
网域小星球15 小时前
C++ 从 0 入门(六)|C++ 面试必知:运算符重载、异常处理、动态内存进阶(终极补充)
开发语言·c++·面试
晚会者荣15 小时前
红黑树的插入(有图)
c++
FL162386312916 小时前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#
John.Lewis16 小时前
C++进阶(12)附加学习:STL之空间配置器(了解)
开发语言·c++·笔记
汉克老师16 小时前
GESP2023年12月认证C++三级( 第三部分编程题(2、单位转换))
c++·string·单位转换·gesp三级·gesp3级
baizhigangqw16 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶
算法·启发式算法·web app
C雨后彩虹16 小时前
最多等和不相交连续子序列
java·数据结构·算法·华为·面试