#include <stdio.h>
#include <stdlib.h>
#define SIZE 4
char chess[SIZE+2][SIZE+2] = {
{},{' ','b','w','w','b',' '},{' ','b','b','w','b',' '},{' ','b','w','w','b',' '},{' ','b','w','w','w',' '},{}};
bool flag;
int step;
int r[5]={-1,1,0,0,0};//便于翻棋操作 上 下 左 右 当前位置
int c[5]={0,0,-1,1,0};
bool judge_all(void)//判断“清一色”
{
int i,j;
for(i=1;i<SIZE+1;i++)
for(j=1;j<SIZE+1;j++)
if(chess[i][j]!=chess[1][1])
return false;
return true;
}
void flip(int row,int col)//翻棋
{
int i;
for(i=0;i<5;i++)
chess[row+r[i]][col+c[i]]=!chess[row+r[i]][col+c[i]];
return;
}
void dfs(int row,int col,int deep) //深搜的迭代回溯是重点,很容易混乱
{
if(deep==step)
POJ1753:翻棋子
最新推荐文章于 2020-08-08 03:19:35 发布
该博客介绍了如何解决POJ1753翻棋子问题,使用C语言实现深度优先搜索(DFS)策略,通过迭代回溯判断棋盘是否达到“清一色”状态,并给出具体代码实现。
摘要由CSDN通过智能技术生成