题解:图的深度遍历就是顺着一个最初的结点开始,把与它相邻的结点都找到,也就是一直往下搜索直到尽头,然后在顺次找其他的结点。

#include <bits/stdc++.h>
using namespace std; int gra[200][200]; //储存图的大小
int vis[200]; // 标记数组 void dfs(int x,int k) // 有k个点,x代表目前搜到了那个点。
{
int i;
for(i = 0; i < k; i ++)
{
if(!vis[i] && gra[x][i]) // 如果和x这个点相连并且没有找过就是符合条件的
{
vis[i] = 1;
printf (" %d",i);
dfs(i,k); // 找与这个点相连接的
}
}
} int main()
{
int n, u, v, k, m, i;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&k, &m);
memset(gra, 0, sizeof(gra));
memset(vis, 0, sizeof(vis));
for(i = 0; i < m; i ++)
{
scanf("%d%d",&u, &v);
gra[u][v] = gra[v][u] = 1;
}
vis[0] = 1;
printf("0");
dfs(0,k);
printf("\n");
}
return 0;
}

er:

#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int a[500][500];
int vis[450];
int f = 1;
void dfs(int t,int n)
{
vis[t] = 1;
if(f) f= 0;
else printf(" %d",t);
for(int i = 0; i < n; i ++)
{
if(!vis[i] && a[t][i])
{
vis[i] = 1;
dfs(i,n);
}
}
}
int main()
{
int n,k,m,t,u,v;
cin >> n;
while(n --)
{
cin >> k >> m;
memset(a,0,sizeof(a));
while(m --)
{
cin >> u >> v;
a[u][v] = a[v][u] = 1;
}
memset(vis,0,sizeof(vis));
f = 1;
printf("0");
dfs(0,k);
printf("\n");
}
return 0;
}

数据结构实验之图论二:图的深度遍历(SDUT 2107)(简单DFS)的更多相关文章

  1. SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历

    数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...

  2. SDUT2142数据结构实验之图论二:基于邻接表的广度优先搜索遍历

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2142&cid=1186 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜 ...

  3. 数据结构实验之图论三:判断可达性(SDUT 2138)(简单DFS)

    #include <bits/stdc++.h> using namespace std; int gra[1002][1005]; int vis[1002]; int n,m; voi ...

  4. SDUT-2107_图的深度遍历

    数据结构实验之图论二:图的深度遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 请定一个无向图,顶点编号从0到n-1 ...

  5. SDUT OJ 数据结构实验之图论十:判断给定图是否存在合法拓扑序列

    数据结构实验之图论十:判断给定图是否存在合法拓扑序列 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Prob ...

  6. 数据结构之 图论---图的深度遍历( 输出dfs的先后遍历序列 )

    图的深度遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出.遍历时,先遍历节点编 ...

  7. SDUT 3363 数据结构实验之图论七:驴友计划

    数据结构实验之图论七:驴友计划 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 做为一个资深 ...

  8. SDUT OJ 数据结构实验之图论八:欧拉回路

    数据结构实验之图论八:欧拉回路 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  9. 数据结构实验之图论七:驴友计划 ( 最短路径 Dijkstra 算法 )

    数据结构实验之图论七:驴友计划 Time Limit: 1000 ms           Memory Limit: 65536 KiB Submit Statistic Discuss Probl ...

随机推荐

  1. k8s部署nacos

    如果是在centos7上直接启动nacos 注意修改启动命令   sh startup.sh -m standalone 访问路径 http://********:8848/nacos/index.h ...

  2. [Luogu5280][ZJOI2019]线段树(线段树+DP)

    https://www.luogu.org/blog/Sooke/solution-p5280 首先想到对线段树上每个点分别维护有多少棵线段树在它上有标记(f[]),然后想到对于每个操作,根据转移的不 ...

  3. git 讲解

    部署结构: - Git版本控制 - Git的使用 - 快速控制服务器代码版本 - 有利于团队协作 - 安装流程 现有代码 -> 编辑区 -> 寄存区 -> 版本库 1. 安装GIT ...

  4. Privacy Description

    This application respects and protects the privacy of all users who use the service. In order to pro ...

  5. 消息队列与RPC的区别

    一. 区别 1.消息队列能够积压消息,让消费者可以按照自己的节奏处理消息,但是RPC不能. 2.消息队列是一个异步的过程(生产者发送消息之后,不会等待消息的处理),RPC是一个同步的过程. 3.消息队 ...

  6. [#Linux] CentOS 7 美化调优

    优化美化系统,是为了让新系统能更顺眼顺手,符合自己过去在windows下的使用习惯,从而实现平稳过渡. 正如开篇时谈到的,现在的桌面版linux已相当友好(特别是Ubuntu),基本不需要做什么额外设 ...

  7. Python函数Day4

    一.内容补充 __iter__() 就是 iter(),iter() 调用的就是__iter__() __next__() 就是 next(),next()调用的就是__next__() __clos ...

  8. CMake---基础练习2

    # t2/ CMakeLists.txt cmake_minimum_required(VERSION 2.8) #1 #PROJECT (HELLO) #SET(SRC_LIST main.c) # ...

  9. SATB的标记问题解决之道与G1垃圾收集模式系统详解及最佳实践

    继续接着上一次https://www.cnblogs.com/webor2006/p/11148282.html的理论学习,上一次学习到了这: 接着继续: SATB详解: 对于三色算法在concurr ...

  10. String decryption with de4dot

    Introduction de4dot is a wonderful tool for deobfuscating known and unknown .NET protections. Dealin ...