题目

Description

无聊的陶陶准备编写一款游戏,名字就叫做“马踏飞燕”,在这款游戏中有个一个100*100的坐标,把马放在任意一个坐标点,再把燕子放在任意一个坐标点,并且燕子不会移动,马只能按照象棋规则走“日”。若4步之内能“踏”到燕子,则成功。笨蛋的陶陶不知道该怎么去写,现在请你帮助他。
走“日”说明:当马的坐标为(5,5)的时候,马下一步可以走的坐标有8个点,分别为(4,3)(6,3)(3,4)(7,4)(3,6)(7,6)(4,7)(6,7)

Input

第一行两个整数,马的起始坐标x,y (0<x,y<100)
第一行两个整数,燕子的坐标m,n (0<m,n<100)

Ouput

若4步之内能“踏”到燕子,则输出“Y”
若4步之内不能“踏”到燕子,则输出“N”

Sample Input

5 5
7 4

Sample Output

Y

思路

我看似乎所有人都在bfs…我个人为什么觉得dfs反而好做一些…?

遇到的问题

1.没有记录走过的点,走回头路
2.如果动用x,y本身记得后退一步,回溯

代码

#include<iostream>
#include<cstdio>
using namespace std;
int m,n,r=0;
int a[8]={2,2,1,1,-1,-1,-2,-2},c[8]={1,-1,2,-2,2,-2,1,-1};
bool b[101][101]={0};
void search(int x,int y,int sum)
{if(x==m&&y==n){r=1;return;}if(sum==4) return;for(int i=0;i<8;i++){x=x+a[i];y=y+c[i];if(x>0&&x<100&&y>0&&y<100&&b[x][y]==0){b[x][y]=1;search(x,y,sum+1);b[x][y]=0;}x=x-a[i];y=y-c[i];}
}
int main()
{int x,y;scanf("%d %d",&x,&y);scanf("%d %d",&m,&n);search(x,y,0);if(r==1) printf("Y\n");else printf("N\n");return 0;
}

sdnu1025 马踏飞燕相关推荐

  1. SDNU1025马踏飞燕

    再一次做,出现两个错误,一个是 使用BFS时,在添加新节点的时候队列尾指针qq+1忘记了//这种错误容易在测试样例过程中发现 另一个是 棋盘的范围问题:按照题意,棋盘应当包括边界坐标为0和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. 微信小程序客服功能 把当前页面的信息卡片发送给客服
  2. Python3通过汉字输出拼音
  3. jit 方法内联_JIT编译器,内联和转义分析
  4. try-catch的使用以及细节
  5. 【Java】Java 8 新特性-----Lambda 表达式
  6. 2021级C语言大作业 - 霓虹深渊
  7. 【面经】各大AI研究院共35场NLP算法岗面经奉上
  8. HP 瘦客户机 - 使用 ie4uinit.exe 应用时,Citrix HDX Flash 出现故障和错误
  9. c语言plc编程软件下载,罗克韦尔plc编程软件下载-2017罗克韦尔plc编程软件V21.00 官方最新版 - 极光下载站...
  10. 19行Python代码让你拥有属于自己的智能聊天机器人
  11. 计算机点阵存储空间,计算机存储量计算存储400个24*24点阵汉字字形所需的存储容量是________....
  12. android两边是椭圆的按钮,自定义Button形状(圆形、椭圆)
  13. ckplayer.js插件基于网页flash播放rtmp、hls
  14. 【原创开源应用第2期】基于RL-USB和RL-FlashFS的完整NAND解决方案,稳定好用,可放心用于产品批量
  15. 获取iOS设备UDID的方法
  16. 美国大学统计专业申请策略
  17. 小程序的三种弹框showToast、showModal、showLoading
  18. Win11 22000.918(KB5016691)正式版发布,解决一系列问题!
  19. 单片机 软件延时时间控制
  20. Linux:如何调整ubuntu的系统界面使其放大

热门文章

  1. 众昂矿业:2022年全球萤石行业市场供给现状分析
  2. 动力电池系统介绍(十二)——均衡功能
  3. ecshop开发的外贸网站欣赏
  4. 函数插值法实验报告c语言,插值法实验报告.doc
  5. Hadoop集群搭建安装教程(续集)高可用(HA)
  6. Java Runtime的使用
  7. 51单片机——ADC模数转换实验
  8. 免费提升网站排名,用百度SEO外链工具!
  9. 成都有哪些有名的互联网公司?
  10. 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐