- 博客(2)
- 资源 (2)
- 收藏
- 关注
原创 c++广度优先搜索 棋盘游戏
在不同棋类游戏中,棋子的走法总是一定的。比如中国象棋中的“马走日,象走田,车走直线,炮越山”。为了增加游戏的趣味性,西西想要融合围棋棋盘,来一场碰撞游戏。游戏规则: 1)每局游戏需要两位参与者,分别执黑棋、白棋;2)棋子每步按“日”或“田”字进行一步的飞跃; 如果限定终点位置是(1,1),给出两位参与者的起点位置,你能计算出这两个位置到达终点的最少步数分别是多少吗?(注:棋盘左上角坐标为(1,1),地图大小不超过100*100) 输入:两行,第一行两个整数表示黑棋的初始位置,第二行两个整数表示白棋的初始位置
2024-01-25 11:08:47
724
1
c++ 猴子选大王(约瑟夫问题)
猴子选大王
【问题描述】要从n只猴子中选出一位大王。它们决定使用下面的方法:
n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。
【输入形式】控制台输入三个整数n,m,q。
【输出形式】输出最后选为大王的猴子编号。
【样例输入】7 4 3
【样例输出】4
【样例说明】输入整数n = 7,m = 4,n = 3,输出4
2024-01-25
c++广度优先搜索 棋盘游戏
棋盘游戏
【问题描述】
在不同棋类游戏中,棋子的走法总是一定的。比如中国象棋中的“马走日,象走田,车走直线,炮越山”。为了增加游戏的趣味性,西西想要融合围棋棋盘,来一场碰撞游戏。游戏规则:
1)每局游戏需要两位参与者,分别执黑棋、白棋;2)棋子每步按“日”或“田”字进行一步的飞跃;
如果限定终点位置是(1,1),给出两位参与者的起点位置,你能计算出这两个位置到达终点的最少步数分别是多少吗?(注:棋盘左上角坐标为(1,1),地图大小不超过100*100)
输入:两行,第一行两个整数表示黑棋的初始位置,第二行两个整数表示白棋的初始位置。
输出:两行,分别表示黑棋与白棋到达终点(1,1)的最少步数值。
【样例输入】1216 18 10 【样例输出】 8 9
【过程分析】解题思路:本题目标:黑棋、白棋移动到红色终点位置(如下方左图),最少步数分别是多少。
如果创建两个队列来描述整个过程,较为繁琐。因此,本题做逆向考虑(如下方右图):由红点出发,走到黑棋、白棋位置,最少需要多少步。
2024-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人