石油合并

点击打开链接


往四个方向深搜索即可。重点理解递归就可,递归是系统自己调用一个栈。

它会1,将所有的实在参数,返回地址等信息给调用函数保存。

2,为被调用的函数分配内存。

3,转移到调用函数的入口。


#include
#include
int n,m,many;
int map[55][55];
char s[55][55];
int dfs(int i,int j){
    map[i][j] = 1;
    if(i+1=0 && s[i-1][j]=='@' && map[i-1][j]==0) dfs(i-1,j);
    if(j-1>=0 && s[i][j-1]=='@' && map[i][j-1]==0) dfs(i,j-1);
    return 1;
}

int main(){
    int i,j;
    while(scanf("%d%d",&n,&m)!=EOF){
        many = 0;
        memset(map,0,sizeof(map));
        for(i=0;i


你可能感兴趣的:(搜索)