hdu 1312——Red and Black(DFS)
来源:互联网 发布:java中有几种类型的流 编辑:程序博客网 时间:2024/05/21 16:57
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1312
解题思路:深搜+递归。这几天看搜索的题,在网上发现这个代码,觉得很是简单易懂
#include <stdio.h>#include <string.h>#include <stdlib.h>int w,h,sum,mark[25][25];char map[25][25];void DFS(int x,int y){if(map[x+1][y]=='.' && !mark[x+1][y]) //判断能否走且是否已走过{sum++;mark[x+1][y]=1; //标记DFS(x+1,y); //递归调用自身再进行深搜}if(map[x-1][y]=='.' && !mark[x-1][y]){sum++;mark[x-1][y]=1;DFS(x-1,y);}if(map[x][y+1]=='.' && !mark[x][y+1]){sum++;mark[x][y+1]=1;DFS(x,y+1);}if(map[x][y-1]=='.' && !mark[x][y-1]){sum++;mark[x][y-1]=1;DFS(x,y-1);}}int main(){int i,j;while(scanf("%d %d",&w,&h),w!=0,h!=0){sum=0;memset(mark,0,sizeof(mark));memset(map,'#',sizeof(map));getchar();for(i=0;i<h;i++)scanf("%s",map[i]);for(i=0;i<h;i++){for(j=0;j<w;j++){if(map[i][j]=='@'){sum++;mark[i][j]=1; //走过的标记为1DFS(i,j);i=h+1;j=w+1; //跳出循环}}}printf("%d\n",sum);}return 0;}
- hdu 1312——Red and Black(DFS)
- 【HDU 1312】Red and Black —— DFS
- hdu 1312 Red and Black(dfs入门)
- hdu 1312 Red and Black dfs
- hdu 1312 Red and Black (简单dfs)
- hdu 题目1312 Red and Black ( DFS )
- HDU--1312 -- Red and Black [简单DFS]
- HDU 1312 Red and Black(BFS,DFS)
- HDU 1312 Red and Black (DFS入门)
- hdu 1312 Red and Black (bf、dfs)
- DFS-HDU 1312 -Red and Black
- hdu 1312 Red and Black(DFS)
- HDU--1312:Red and Black (DFS)
- HDU-#1312 Red and Black(DFS)
- HDU 1312 -- Red and Black(dfs)
- HDU 1312--Red and Black【DFS】
- HDU 1312Red and Black dfs
- hdu 1312 Red and Black(DFS)
- Apache+Tomcat集群配置(完整配置)
- c#链接sql server数据库
- 接上文
- 谈java的import使用
- SNS将会复活?
- hdu 1312——Red and Black(DFS)
- 限制Linux普通用户进程数
- memcache dump all items key
- 又接上文
- zoj 3494
- mongoDB for Java 查询显示指定字段
- 通用计算时代来临 论CUDA与OpenCL的异同
- JS 添加多个上传 input
- 程序员的出路之一