POJ-1111 Image Perimeters 简单搜索
来源:互联网 发布:君辉锁芯 淘宝 编辑:程序博客网 时间:2024/05/17 01:46
题目链接
#include<stdio.h>#include<iostream>#include<string>#include<string.h>#include<math.h>#include<algorithm>#include<vector>#include<queue>using namespace std;const int maxn = 35;const int inf = 1<<30;int n,m,ans;char map[maxn][maxn];int xs[] = {0,1,0,-1,1,1,-1,-1};int ys[] = {1,0,-1,0,1,-1,1,-1};void DFS( int x,int y ){int xx,yy;for( int i = 0; i < 4; i ++ ){xx = x + xs[i];yy = y + ys[i];if( map[xx][yy] == '.' ){//map[xx][yy] = '*';ans ++;}else if( map[xx][yy] == 'X' ){map[xx][yy] = '*';DFS(xx,yy);}}for( int i = 4; i < 8; i ++ ){xx = x + xs[i];yy = y + ys[i];if( map[xx][yy] == 'X' ){map[xx][yy] = '*';DFS(xx,yy);}}}int main(){ //freopen("data.txt","r",stdin); int sx,sy;while( scanf("%d%d%d%d",&n,&m,&sx,&sy) == 4 ,(n||m||sx||sy)){ans = 0;memset(map,'.',sizeof(map));for( int i = 1; i <= n; i ++ ){getchar();for( int j = 1; j <= m; j ++ )scanf("%c",&map[i][j]);}map[sx][sy] = '*';DFS(sx,sy);printf("%d\n",ans);} return 0;}
0 0
- POJ-1111 Image Perimeters 简单搜索
- POJ 1111 Image Perimeters 简单DFS
- POJ 1111 Image Perimeters
- poj 1111 Image Perimeters
- POJ 1111 Image Perimeters
- Poj 1111 Image Perimeters
- POJ 1111 - Image Perimeters
- poj 1111 Image Perimeters
- POJ-1111-Image Perimeters
- poj 1111 Image Perimeters
- POJ 1111 Image Perimeters
- POJ:1111 Image Perimeters
- poj 1111:Image Perimeters
- POJ 1111 Image Perimeters
- POJ Image Perimeters 1111
- poj 1111 Image Perimeters
- POJ - 1111 Image Perimeters
- POJ 1111 Image Perimeters
- 饮食禁忌!告诉你哪些肉类部位吃不得
- 删除数据库表及表数据(不影响表空间)
- 使用ant工具——构建一个简单的Hibernate应用程序
- Mysql 字符串替换及追加
- Ubuntu 12.04 gedit 打开 txt 文件乱码的解决办法
- POJ-1111 Image Perimeters 简单搜索
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- MATLAB FDATool IIR数字滤波器设计
- find命令详解
- 享元模式-AbstractMap结构
- Using Intel® C++ Compiler with the Eclipse* IDE on Linux*
- sql 语言理解加深
- 走过的2013,展望2014
- MySQL数据文件介绍及存放位置