HDU-1240 Asteroids!( 三维 BFS)

该博客探讨了如何在三维空间中找到从起点到终点的最短路径问题。通过使用广度优先搜索(BFS)策略,当找到一条可行路径时立即停止搜索,并记录下最小步数。文章提供了详细的思路分析和代码实现。
摘要由CSDN通过智能技术生成

HDU-1240 Asteroids!( 三维 )

HDU-1240 Asteroids!

题意

已知起点(A,B,C)和终点(D,E,F),在三维空间求最短可由起点到达终点的路径,还需判断有无办法到达。

thinking

用广度优先搜索遍历可行走的路径,如果有一个到达则停止遍历,最先到达的为最短的行走路径。
用 s 三维数组存放太空的情况,然后用 flag 标记能否到达目的地,用 ans 作为答案累加器。从起点开始广度优先搜索,最先到达目的地的 ans 为最少移动次数。需要将走过的路标记为无法走的路避免重复遍历。

code

#include <bits/stdc++.h>

using namespace std;

int N;
char s[11][11][11];     // data set
string order;           //输入的 START 和 END
int ans = 0;            //记录答案
int flag = 0;           //是否到达目的地
int A, B, C, D, E, F;
int dir[6][3] = {       //六个方向
        -1, 0, 0,
        1, 0, 0,
        0, -1, 0,
        0, 1, 0,
        0, 0, -1,
        0, 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值