移动棋子的智力题(移动两根小棒的智力题)

移动棋子的智力题(移动两根小棒的智力题)

首页维修大全综合更新时间:2024-05-11 06:15:53

移动棋子的智力题

有2n(n≥4)个棋⼦排成⼀⾏,开始位置为⽩⼦全部在左边,⿊⼦全部在右边。例如n=5时:00000+++++。移动棋⼦的规则是:每次必须同时移动相邻两个棋⼦,颜⾊不限,可以左移也可以右移到空位上去,但不能调换两个棋⼦的左右位置。每次移动必须跳过若⼲个棋⼦(不能平移),要求最后能移成⿊⽩相间的⼀⾏棋⼦。如n=5时,称为:__0+0+0+0+0+。

答:给定格子的数目n(n为不超过300的正整数)。返回一个整数,1代表能获胜,0代表不能获胜。

 

 由于棋子最开始是在第一格,所以棋子剩下可走的格数是n-1格,最优策略是留下最后4格,则谁先走谁输。因为两人均选择最优策略,则为了能够保证最后留下四格,则每次两人共走四格。

int checkWin(int n) {

if ((n-1)%4==0)//若剩下的四格先走,则会输

return 0;

else

return 1;//否则会赢

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.