再一次做,出现两个错误,一个是

使用BFS时,在添加新节点的时候队列尾指针qq+1忘记了//这种错误容易在测试样例过程中发现

另一个是

棋盘的范围问题:按照题意,棋盘应当包括边界坐标为0和100的直线//这种错误不容易被察觉,应当记住这种类型的错误

AC代码如下:

#include<iostream>
#include<cstring>
using namespace std;
struct node
{int x;int y;int s;//节点所在当前步数
} link[10001];
int vis[100][100];//访问标记数组
int x,y,m,n;
int flag;//表示四步之内有没有踏到
int step[8][2]= {{-1,-2},{-1,2},{1,-2},{1,2},{-2,-1},{-2,1},{2,-1},{2,1}};
int pp,qq;
bool judge(int x,int y)
{if(vis[x][y]==1||x<0||x>100||y<0||y>100)return false;elsereturn true;
}
void bfs()
{//特殊情况if(x==m&&y==n){flag=1;return;}while(pp<qq)//队列非空{if(link[pp].s==4)break;for(int i=0; i<8; i++){int xx=link[pp].x+step[i][0];int yy=link[pp].y+step[i][1];if(judge(xx,yy)){if(xx==m&&yy==n){flag=1;break;}else{vis[xx][yy]=1;
//入队link[qq].x=xx;link[qq].y=yy;link[qq].s=link[pp].s+1;qq++;//入队后不要忘记指针增加}}}if(flag)break;pp++;}
}
int main()
{cin>>x>>y>>m>>n;memset(vis,0,sizeof(vis));pp=qq=0;link[qq].x=x;link[qq].y=y;link[qq].s=0;qq++;//入队flag=0;//踏到=1bfs();if(flag)cout<<"Y"<<endl;elsecout<<"N"<<endl;return 0;
}

SDNU1025马踏飞燕相关推荐

  1. sdnu1025 马踏飞燕

    题目 Description 无聊的陶陶准备编写一款游戏,名字就叫做"马踏飞燕",在这款游戏中有个一个100*100的坐标,把马放在任意一个坐标点,再把燕子放在任意一个坐标点,并且 ...

  2. SDNUOJ 1025.马踏飞燕

    Time Limit: 1000 MS    Memory Limit: 32768 KB Total Submission(s): 920    Accepted Submission(s): 37 ...

  3. SDNU 1025 马踏飞燕 DFS

    搜了哈发现都在用bfs在做 然而我不会bfs 所以发一哈dfs的代码 虽然马踏飞燕加强版1027是没法用dfs做的23333 #include<cstdio> #include<io ...

  4. SDNU 1027 马踏飞燕序

    这是一道标准的BFS题,先将题目贴一下: 写这道题就当是复习一下BFS吧 Description 上次的马踏飞燕是不是没玩够?无聊的lg准备编写一款游戏,就是加强版的"马踏飞燕", ...

  5. SDNU OJ 1025 马踏飞燕

    该题是一道使用BFS(广度优先搜索)的经典题目(当然如果你不怕麻烦,DFS也是可以的), 思路很简单,用queue存下各个情况每次都判断是否踏到燕子,并且记得记录深度. Description 无聊的 ...

  6. SDNU__1025.马踏飞燕

    无聊的陶陶准备编写一款游戏,名字就叫做"马踏飞燕",在这款游戏中有个一个100*100的坐标,把马放在任意一个坐标点,再把燕子放在任意一个坐标点,并且燕子不会移动,马只能按照象棋规 ...

  7. SDNUOJ 1025.马踏飞燕(DFS||BFS))

    Time Limit: 1000 MS Memory Limit: 32768 KB Description 无聊的陶陶准备编写一款游戏,名字就叫做"马踏飞燕",在这款游戏中有个一 ...

  8. SDNU 1027 马踏飞燕(续) 【BFS】

    Description 上次的马踏飞燕是不是没玩够?无聊的lg准备编写一款游戏,就是加强版的"马踏飞燕",在这款游戏中有个一个2000*2000的坐标,把马放在任意一个坐标点,再把 ...

  9. “马踏飞”AI机器人实现方案介绍

    当今互联网随处可见各种语音助手,从手机到智能音响,从机器人到手机App语音助手.随着公司业务的发展,今年我们也决定搭建自己的智能客服系统,同时结合公司自身业务,马踏飞燕App 旅游比价业务场景,同时参 ...

最新文章

  1. How to make Windows Form app truly Full Screen (and to hide Taskbar) in C#? 转
  2. python用WMI等获取及修改windows系统信息
  3. Elasticsearch java api(五) Bulk批量索引
  4. 扔掉目标检测器,实现真正的端到端多模态预训练!阿里提出E2E-VLP(ACL2021)...
  5. Exploit练习Protostar——stack3
  6. 100路监控需要使用核心交换机吗?
  7. 【Elasticsearch】为什么我在Elasticsearch集群中看到大量的拒绝?
  8. 手工给alv添加合计
  9. 人口各省预测模型matlab_MATLAB实验9河南省人口预测模型马尔萨斯人口模型.doc
  10. 【前端】弹出框提交表单
  11. 第二日(1)一个IDA下载地址
  12. LaTeX 在线编辑器(LaTeX online editors)
  13. java 实现生成公司的电子公章,并且盖章生成电子合同
  14. html怎么设置文字无法复制粘贴,网页文字无法复制粘贴怎么办
  15. Android 入门宝典 - inflate 生成视图 动态加载视图
  16. 基于Labview的瀑布图的生成
  17. SpringBoot重点详解--事件监听
  18. 【List】个人 常用学习工作软件清单
  19. 【C#】记录一次上位机软件界面闪退分析及解决方案
  20. 夜神模拟器adb查看log

热门文章

  1. 第二天学习:DOS命令与计算机语言发展史
  2. elementUI 亮暗色切换和主题色设置 scss
  3. 电脑怕什么应该如何预防和避免?
  4. Arch Linux系统安装
  5. 谐波减速器的工作原理是如何实现的
  6. 东莞横沥注塑还可分注塑成型模压法和压铸法
  7. 《怪物弹珠》新手技巧大彙整!!!下篇
  8. 实用的支付宝支付案例
  9. 计算机存储器相关演讲,四、服务器和存储系统系列专题主题演讲
  10. 信号(三)Kill函数和Kill命令