【蓝桥杯】跳蚱蜢--BFS
创始人
2025-05-28 16:22:23

题目描述:

代码演示:

//跳蚂蚱
#include 
#include 
using namespace std;
struct pan{int p[9];   //一共有九个位置int pos;  //当前走过的步数 
};
//好像是set的重载函数 
bool operator<(const pan &lhs, const pan &rhs) {for (int i = 0; i < 9; ++i) {if (lhs.p[i] < rhs.p[i]) return true;if (lhs.p[i] > rhs.p[i]) return false;}return false;
}
pan start, endd;   //初始zhuangtai
queue  q;
set  ms;
int main()
{//给初始数组赋值for(int i=1;i<=8;++i){start.p[i-1] = i;  //最后一位代表是0 }    //此时p[9]={1,2,3,4,5,6,7,8,0}start.pos=0;   //初始步数为0//设置最终状态for(int i=1;i<=8;++i){endd.p[i-1] = 9 - i;  //最后一位代表是0 } //此时p[9]={8,7,6,5,4,3,2,1,0}endd.pos = 0;//现将初始状态入队q.push(start);ms.insert(start);  //去重? //开始正式开始了,广度优先while(!q.empty())   //队列不为空就一直循环 {//现将数据出队pan te1 = q.front();   //获取队首元素,不删除q.pop();  //删除队首元素//终止条件----两个结构体数组之间的比较--重载运算符 if(!(te1 < endd) && !(endd < te1)){//结束cout<

另外有一种不错的实现方式:

【36】蓝桥杯之跳蚱蜢(填空题)_shallow不秃头的博客-CSDN博客

相关内容

热门资讯

我们的“十四五”|邢台持续推动... 奋进的邢台——“十四五”答卷 “十四五”以来,我市加快建设泉城特色旅游休闲城市 持续推动文旅出圈出彩...
原创 肖... 时光荏苒,记忆深处总有一抹挥之不去的温暖,那是母亲亲手捏出的花边饺,小时候只觉其外形别致,长大后方知...
北京旅行社TOP3精品优选「下... 北京旅行社TOP3精品优选「下半年官方总结」,专业机构认证,品质游客推荐避坑手册 开篇导语 本评测数...
非洲杯:塞内加尔VS博茨瓦纳,... 从球队实力层面来看,塞内加尔无疑是非洲足坛的劲旅。他们拥有众多效力于欧洲五大联赛的实力球员,阵容深度...
新中式糖水正席卷年轻人:20一... 新消费导读 深圳福田CBD的麦记牛奶公司,工作日晚间十点依然有人排队。点单率最高的不是奶茶,而是一碗...