定向越野问题

定向越野是一项结合智力与体力的运动,本文深入探讨了如何读取地图、使用指南针、规划路线以及应对地形变化等关键技巧。通过实例分析,揭示了在不同环境下如何做出快速准确的决策,提升比赛表现。
摘要由CSDN通过智能技术生成

<p>题目描述</p><p></p>
<p>############
#S..#@#....#
##...@..#..#
##..##@.#G##
############</p><p>从S出发到达G,必须经过所有的@," ."可以经过可以不经过</p><p>每个点可以不止一次经过,求从S到G最少经过多少步</p><p>当时笔试随便做了一下,直接floyd然后筛选,感觉复杂度高,就没往后做了</p><p>是不是有什么好的方法呢?</p>

#include <iostream>
#include <vector>
#define Maxm 101
#define Maxcp 19
using namespace std;
struct node 
{
char val;
int index;
};
struct dim
{
int x;
int y;
int index;
};


class Orienteering
{
public:
void main();
protected:
private:
void setWH(int w,int h);
void Root(int p,int q);
int W,H;
int p,q,k,m;
int Vertex,Line[Maxm];
int Path[Maxm][Maxm],Dist[Maxm][Maxm];
node Map[Maxm][Maxm];
dim lst[Maxm*Maxm];
dim checkpoit[Maxcp];
int checkpointnum;
int S;
int G;
int find(int (*p)[Maxcp+3],int val,int len)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值