HDU 1312 Red and Black(简单搜索)
2016-03-03 14:14
459 查看
本题的题意为:给出一个@代表开始出发的点,#代表墙,遇到墙当然就不能走了,让你求可以活动的范围为多少,看完这些我想你应该知道这是一道简单的搜索题目。。。
下面是本渣渣的AC代码。。
下面是本渣渣的AC代码。。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> using namespace std; int n,m,sum; char a[25][25]; int dir[4][2]= {{0,1},{0,-1},{1,0},{-1,0}}; int sx,sy; int book[50][50]={0}; void dfs(int x,int y) { int i; book[x][y]=1; for(i=0; i<4; i++) { int fx=x+dir[i][0]; int fy=y+dir[i][1]; if(fx<1||fx>n||fy<1||book[fx][fy]==1||fy>m||a[fx][fy]=='#') continue; else sum++; a[fx][fy]=1; dfs(fx,fy); } } int main() { while(cin>>m>>n) { if(m==0&&n==0) break; memset(book,0,sizeof(book)); sum=0; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cin>>a[i][j]; if(a[i][j]=='@') { sx=i; sy=j; } } } dfs(sx,sy); cout<<sum+1<<endl; } return 0; }
相关文章推荐
- RequireJS介绍(一)
- 欢迎使用CSDN-markdown编辑器
- js里apply方法的简单实例
- 【转】引用
- 4. JPA @Id 和 @GeneratedValue 注解详解
- LeakCanary:检测所有的内存泄漏
- android shape的使用
- QuickFix/J (2): 消息的接收和发送
- SpringMVC+Mybatis框架整合源码 项目
- rel=nofollow
- 用easy_install時出現unknown url type: https问题
- android知识碎片
- GitExtensions工具使用教程
- android: 文件存储
- com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "ExceptionId"
- Hashtable和HashMap区别小结
- xhEditor 不能支持本地图片上传
- Could not fetch specs from https://rubygems.org/
- Nginx之Https最佳实践
- Audit log report