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

使用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. [C++调试笔记]初始化
  2. 华为鸿蒙发布会新手机,曝华为 P50/Pro 系列最终版确定,6 月 2 日揭晓鸿蒙手机发布时间...
  3. 微服务架构--链路追踪(Nginx篇)
  4. FallbackFactory启动的时候抛出异常
  5. rabbitmq AmqpClient 使用Fanout 交换机投递与接收消息,C++代码示例
  6. latex 基本用法(二)—— 矩阵(增广矩阵、长虚线)
  7. java关闭服务_实现优雅地关闭Docker中的java服务
  8. bos物流项目面试问题汇总
  9. html怎么加入页面登录背景,HTML+CSS实现动态背景登录页面
  10. 速达pro服务器显示试用,速达v3-pro商业版突然变成试用版了,加密狗的灯不亮了,是什么原因- _0...
  11. ASP.NET快速入门
  12. 微信公众号的三大分类及功能
  13. Java异常————argument type mismatch
  14. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现量价形态选股...
  15. android 蓝牙打印机(ESC/POS 热敏打印机),打印菜单小票和图片,对蓝牙配对和连接打印功能进行了封装,让你超快实现蓝牙打印功能
  16. “The user name or passphrase you entered is not correct “ for Mac Xcode
  17. html怎么用chrome测试,html5 – 如何测试触摸事件现在Chrome无法进行标准测试?
  18. vs2010 玩转金山界面库 (2) 应用基础
  19. 如何在虚拟机操作系统CentOS 7.5上部署TiDB数据库群集
  20. 多方面了解WLAN和WIFI的区别

热门文章

  1. matlab可以节定积分方程,如何用matlab如何实现数值积分
  2. JavaScript学习笔记(一轮)完结
  3. knife4j文档请求异常(swagger页面无法渲染)
  4. 使用MAME的Lua引擎替代cheat的XML文件
  5. 通告机制Notification
  6. 爆笑视屏,看看外国人的创意,搞笑视屏不是只有假唱做做
  7. 中国碳中和产业“十四五”规划及投融资建议报告2022~2028年
  8. 如何获取谷歌广告ID
  9. Python中的split()函数的用法
  10. 路,前方的路还长,可人的生命时钟却如此不经走