递归
小游戏
#include<iostream>
#include<algorithm>
#include<cstring>
#include<stdio.h>
using namespace std;
#define maxin 75
char board[maxin+2][maxin+2];
bool mark[maxin+2][maxin+2];
int minstep,w,h;
int to[4][2]={
{
0,1},{
1,0},{
0,-1},{
-1,0}};
void searchi(int curx,int cury,int endx,int endy,int step,int dire){
if(minstep<step) {
return;
}
if(curx==endx&&cury==endy){
if(minstep>step){
minstep=step;
}
return;
}
for(int i=0;i<4;++i){
int x=curx+to[i][0];
int y=cury+to[i][1];
if((x>-1)&&(x<w+2)&&(y>-1)&&(y<h+2)&&(((board[y][x]==' ')&&(mark[y][x]

本文探讨了使用C++实现的递归技术,通过分析小游戏(POJ 2802)和棋盘分割问题(POJ 1191)的解决方案,展示了递归在解决复杂问题时的有效性和优雅性。
最低0.47元/天 解锁文章
1608

被折叠的 条评论
为什么被折叠?



