这道题主要注意输入的问题,以及对周围搜索时的注意,要使用递归,多次调用,附上一组数据

11 20
*@*@*@@@**@*@**@@@**
***@*@*@*@*@****@**@
*@*@*@*@*@*@********
@*************@@**@*
@*@*@*@*@***********
*@*@*@*@*@*@*@*@****
**********@*@*@*****
******@*@*@*@*@*@***
**@*@***************
***********@*@*@*@**
*@*@*@******@*******

20

 #include<stdio.h>
char xx[][];
int dps(int i,int j)
{
if(xx[i-][j-]=='@')
{
xx[i-][j-]='#';
dps(i-,j-);
}
if(xx[i-][j]=='@')
{
xx[i-][j]='#';
dps(i-,j);
}
if(xx[i-][j+]=='@')
{
xx[i-][j+]='#';
dps(i-,j+);
}
if(xx[i][j-]=='@')
{
xx[i][j-]='#';
dps(i,j-);
}
if(xx[i][j+]=='@')
{
xx[i][j+]='#';
dps(i,j+);
}
if(xx[i+][j-]=='@')
{
xx[i+][j-]='#';
dps(i+,j-);
}
if(xx[i+][j]=='@')
{
xx[i+][j]='#';
dps(i+,j);
}
if(xx[i+][j+]=='@')
{
xx[i+][j+]='#';
dps(i+,j+);
}
}
int main()
{
int m,n,i,j,ans;
while()
{
scanf("%d%d",&m,&n);
if(m==) break;
for(i=;i<=;i++)
for(j=;j<=;j++)
xx[i][j]='*';
for(i=;i<=m;i++)
scanf("%s",xx[i]);
ans=;
for(i=;i<=m;i++)
for(j=;j<=n;j++)
{
if(xx[i][j]=='@')
{
xx[i][j]='#';
ans++;
dps(i,j);
}
/*else if(xx[i-1][j-1]!='#'&&xx[i-1][j]!='#'&&xx[i-1][j+1]!='#'&&xx[i][j-1]!='#'&&xx[i][j+1]!='#'&&xx[i+1][j-1]!='#'&&xx[i+1][j]!='#'&&xx[i+1][j+1]!='#')
{
ans++;
if(xx[i-1][j-1]=='@') xx[i-1][j-1]='#';
if(xx[i-1][j]=='@') xx[i-1][j]='#';
if(xx[i-1][j+1]=='@') xx[i-1][j+1]='#';
if(xx[i][j-1]=='@') xx[i][j-1]='#';
if(xx[i][j+1]=='@') xx[i][j+1]='#';
if(xx[i+1][j-1]=='@') xx[i+1][j-1]='#';
if(xx[i+1][j]=='@') xx[i+1][j]='#';
if(xx[i+1][j+1]=='@') xx[i+1][j+1]='#';
}
}*/ }
printf("%d\n",ans);
/* for(i=1;i<=m;i++)
{
for(j=0;j<=n;j++)
printf("%c",xx[i][j]);
printf("\n");
}*/
}
return ;
}

poj 1562的更多相关文章

  1. POJ 1562 && ZOJ 1709 Oil Deposits(简单DFS)

    题目链接 题意 : 问一个m×n的矩形中,有多少个pocket,如果两块油田相连(上下左右或者对角连着也算),就算一个pocket . 思路 : 写好8个方向搜就可以了,每次找的时候可以先把那个点直接 ...

  2. poj 1562 dfs

    http://poj.org/problem?id=1562 #include<iostream> using namespace std; ,m=,sum=; ][]; ][]={-,, ...

  3. POJ 1562 Oil Deposits (HDU 1241 ZOJ 1562) DFS

    现在,又可以和她没心没肺的开着玩笑,感觉真好. 思念,是一种后知后觉的痛. 她说,今后做好朋友吧,说这句话的时候都没感觉.. 我想我该恨我自己,肆无忌惮的把她带进我的梦,当成了梦的主角. 梦醒之后总是 ...

  4. poj 1562 Oil Deposits (广搜,简单)

    题目 简单的题目,只是测试案例的输入后面可能有空格,所以要注意一下输入方式. #define _CRT_SECURE_NO_WARNINGS //题目的案例输入n,m后面有些貌似有空格... #inc ...

  5. POJ 1562 Oil Deposits (并查集 OR DFS求联通块)

    Oil Deposits Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14628   Accepted: 7972 Des ...

  6. POJ 1562 Oil Deposits

    转载请注明出处:http://blog.csdn.net/a1dark 大规模的图论切题之旅正式开始了.由于今天停了一天的电.所以晚上才开始切题.直到昨晚才把图论大概看了一遍.虽然网络流部分还是不怎么 ...

  7. [POJ] 1562 Oil Deposits (DFS)

    Oil Deposits Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 16655   Accepted: 8917 Des ...

  8. (简单) POJ 1562 Oil Deposits,BFS。

    Description The GeoSurvComp geologic survey company is responsible for detecting underground oil dep ...

  9. HDU - 1241 POJ - 1562 Oil Deposits DFS FloodFill漫水填充法求连通块问题

    Oil Deposits The GeoSurvComp geologic survey company is responsible for detecting underground oil de ...

随机推荐

  1. Python之路【第三篇补充】:Python基础(三)

    参考老师:http://www.cnblogs.com/wupeiqi lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 ...

  2. Java多线程编程核心技术---对象及变量的并发访问(一)

    synchronized同步方法 "非线程安全"其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是渠道的数据其实是被更改 ...

  3. css1-css3的那些模糊点

    css很重要, 但也不是万能的, 也不能抛弃dom 元素和 元素的属性!! 很多时候, dom "元素" 的 "属性" 也很重要 也很实用! 要结合属性来写 包 ...

  4. php操作mysql数据库

    <span style="font-family:Arial,Helvetica,sans-serif">在php操作数据库过,会频繁对数据库进行各种操作,所以,php ...

  5. [译]Mongoose指南 - Schema

    定义schema 用mongoose的第一件事情就应该是定义schema. schema是什么呢? 它类似于关系数据库的表结构. var mongoose = require('mongoose'); ...

  6. Reading Famous blog to prevent me wasting time on blind wandering

    I can`t help surfing the useless bbs and some other kind of SNS. The time I begin to do it, it costs ...

  7. 【Bootstrap】Bootstrap和Java分页-第二篇

    目录 关于此文 配置xml-pager.tld 分页控件-Pager 分页action集成类-BaseController 实例-Dao 实例-service 实例-action 实例-JSP 实例- ...

  8. ScriptManager与UpdatePanel总结

    1.From http://www.cnblogs.com/Tim-Seven/archive/2011/02/11/1952409.html Ajax Extensions 2.ScriptMana ...

  9. linux配置java环境变量

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...

  10. AlwaysOn可用性组功能测试(三)--其他测试

    三. 大数据量操作的时候发生的切换 1.对表进行大量插入,执行1千万遍,如下语句 insert into aa select * from sys.sysprocesses go 10000000 2 ...