文档章节

一个很有意思公司的题目

心中的理想乡
 心中的理想乡
发布于 2016/10/18 17:44
字数 533
阅读 24
收藏 0

中国象棋是一款非常受欢迎的棋类游戏,棋盘由9*10的网格组成,棋子包括:将(帅)、士(仕)、象(相)、马、车、炮、卒(兵)共7种,每种棋子的走法都各不相同。

用坐标(x,y)表示棋盘上的位置,横坐标x为1-9,纵坐标y为1-10。如图,红色即为本方棋子。move(x1,y1)-->(x2,y2)表示将(x1,y1)位置的棋子移动到(x2,y2),棋子的移动规则如下:

通用规则:

1, 禁止移动到棋盘外;

2, 起始位置必须是本方棋子;

3, 目标位置不能存在本方棋子。

棋子规则:

1, 将(帅):每次只能横向或纵向移动一格,无法离开本方“帅府”(棋盘中交叉线所在的位置,共9个点)。

2, 士(仕):每次只能斜着移动(沿图中的斜线),无法离开本方“帅府”。

3, 象(相):按“田”字行移动,即从“田”字格的一个角移动到另一个角,比如:move(3,1)-->(1,3)或move(3,1)-->(5,3)。不能越过“楚河汉界”。当“象眼”(“田”字格中央)位置存在棋子时,不允许移动。

4, 马:按“日”字行移动,即从“日”字格的一个角移动到另一个角,比如:move(2,1)-->(1,3)或move(2,1)-->(3,3)。当“马腿”(“日”字中间2个点中靠近起始位置的点)位置存在棋子时,不允许移动。

5, 车:直线移动,每次可以移动任意长度,但起始位置和目标位置之间不能存在任何棋子。

6, 炮:直线移动,每次可以移动任意长度,但如果目标位置存在对方棋子,则起始位置和目标位置之间必须存在且只能存在1个额外的棋子(可以是己方的,也可以是对方的),否则移动方式与车相同。

7, 卒(兵):每次只能横向或纵向移动一格,但不能“后退”(向本方移动)。

请提供一个API,判断move(x1,y1)-->(x2,y2)操作是否符合规则。

© 著作权归作者所有

心中的理想乡

心中的理想乡

粉丝 25
博文 83
码字总数 138010
作品 0
深圳
程序员
私信 提问
Leetcode刷刷刷 - 1. Two Sum

Leetcode是程序员刷算法题的大本营,难度也很友好的分了高级、中级及初级,目前在全球范围内已经有了上百万名用户,并且拥有超过了1000道题目资源和公司面试真题。 我在刷题的过程中,会复习...

V怪兽
02/27
0
0
MVVM架构~knockoutjs系列之为Ajax传递Ko数组对象

一些要说的 这是一个很有意思的题目,在KO里,有对象和数组对象两种,但这两种对象对外表现都是一个function,如果希望得到他的值,需要进行函数式调用,如koa(),它的结果为一个具体值或者...

mcy247
2017/12/06
0
0
考试题惊现华为和腾讯LOGO,能否答对已不重要,这个更重要

  不是开玩笑吧?最新消息,近日网友爆料一件非常有意思的事情,在八年级学生的数学考试试卷上,出现了一道试题很有意思,四个选项中,其中三个是公司的LOGO。分别是华为、腾讯、以及招商银...

人工智能科技馆
2017/12/03
0
0
CTF---安全杂项入门第一题 丘比龙的最爱

丘比龙的最爱分值:10 来源: 2014HCTF 难度:易 参与人数:4498人 Get Flag:1366人 答题人数:1384人 解题通过率:99% 传说,丘比龙是丘比特的弟弟,丘比龙是一只小爱神,虽然有两只翅膀,...

angel_kitty
2017/10/18
0
0
我不再像两年前那样勇敢

每天的这个时候,我应该已经进入了梦乡,不仅仅是第二天需要工作,而很多的是听到了太多熬夜的噩耗。今天也一样,手机已经关机,可是睡不着,始终有一些话想说。前一段时间一直在找工作没能闲...

老杨纪事
2016/09/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部