HDU2181 哈密顿世界环游

这是一篇关于HDU2181题目的解题报告,介绍了一个利用深度优先搜索(DFS)算法寻找环游世界路线的问题。文章详细解释了题目要求,即输入20组数表示城市间可达关系,以及额外输入的y表示环游起点,目标是输出所有可能的旅行路线。解题策略是通过DFS遍历所有可能的路径,并标记已访问的城市,确保不重复。
摘要由CSDN通过智能技术生成

题目连接地址:

https://cn.vjudge.net/problem/HDU-2181

大致题意:

小伙子要环游世界再回来,现在输入20组数,默认输入 的第n组数据就是第n个城市,该组数据表明了从该城市能到达的下一个城市。再输入y个数字,表示要从该城市环游一周再返回原点。输出:输出所有的旅行路线。

解题思路:

因为要求找出所有的路线,所以要用深度优先搜索。(利用深度优先搜索能遍历所有的情况的特性)。
解释一下题目中的一些用来标记的参数(和数组):
#define MAX 21 表示规模
bool map[MAX][MAX]; 地图,第一维表示该节点,第二维表示下一个节点
bool used[MAX]; 标记走过的城市
int cas; 环游世界的起点和终点
代码如下:(主要看注释)

#include <stdio.h>
#include <string.h>
#define MAX 21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值