《啊哈算法》学习五 解救小哈

本文通过一个解救小哈的游戏,介绍了如何运用深度优先搜索算法寻找从起点(1,1)到终点的最短路径。在游戏规则中,小哼不能经过锁的位置,也不能走出指定区域。程序设计中,小哼优先向右、下、左、上移动,并在每个位置尝试四个方向的路径。" 5995350,591142,使用AXI VIP接口指南,"['接口设计', '接口实现', 'VIP', '硬件仿真']
摘要由CSDN通过智能技术生成

通过一个解救小哈的游戏,来学习深度优化搜索算法。

规则如下:

小哈被困在终点,小哼从(1,1)出发去找小哈,每一步只能选择往上下左右走一格,不能走到锁所在地格子上,也不能走出图片限定的区域,求出小哼走到终点走过的最短路程。

 实现程序如下所示。规定,小哼移动的优先级为:右>下>左>上,让小哼在每一格都进行上下左右的尝试。

#include<stdio.h>
#include<iostream>
using namespace std;

int mi = 999, p, q, n, m;
int a[51][51], book[51][51];


void dfs(int x,int y,int step)
{
	// 定义方向数组
	int next[4][2] = { {0,1},// 向右走
					 {1,0},// 向下走
					 {0,-1},// 向左走
					 {-1,0} // 向上走
					 };
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < 2; j++) {
			cout << "next[" << i << "][" << j << "] = " << next[i][j] << endl;
		}
	}
	c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值