问题描述
- 五连珠问题~c语言编程实现
-
如图,在 m*n的长方形棋盘的每个小方格的中心点各放一个棋子。如果两个棋子所在
的小方格共边或共顶点,那么称这两个棋子相连。现从这 m*n个棋子中取出一些,使得棋盘
上剩下的棋子,没有五个在一条直线(横、竖、斜方向)上依次相连。请用数学的方法解决
最少取出多少个棋子才能满足要求?并说明理由。同时给出一种去掉棋子的方式。
提示:如果证明至少需要取出
k
个棋子。可采用的一种思路是:理论上证明取
k ?1
个棋子
不能满足要求,而你确实找到一种取出
k
个棋子就可以满足要求的取法。另一种思路是采用
一种方法证明至少需要取
k
个棋子才能满足要求,而你确实找到一种取出
k
个棋子就可以满
足要求的取法。当然或许你还有别的思路。在这个具体问题中,请你只用数学的方法解决该
问题。
解决方案
时间: 2024-10-04 21:27:07