1011
来源:互联网 发布:js post传参方式 编辑:程序博客网 时间:2024/06/04 19:58
简单题意:给你一幅地图,让你去判断相邻,对角的油田有几个,注意,@代表油田
解题思路:深度搜索,每个点进行遍历
感想:做了好多搜索的题,方法基本都类似
AC代码:
#include <stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
char map[101][101];
int n, m, p;
void dfs(int i, int j)//递归函数
{
if(map[i][j]!='@' || i<0 || j<0 || i>=m || j>=n) return;
else
{
map[i][j]='*';//扫过的都变成'*'
dfs(i-1, j-1);
dfs(i-1, j);
dfs(i-1, j+1);
dfs(i, j-1);
dfs(i, j+1);
dfs(i+1, j-1);
dfs(i+1, j);
dfs(i+1, j+1);
}
}
int main()
{
int i, j;
while(scanf("%d%d",&m,&n)!=EOF)
{
if(m==0 || n==0) break;
p = 0;
for(i = 0; i < m; i++)
for(j = 0; j < n; j++)
//scanf("%c",&map[i][j]);
cin>>map[i][j];
for(i = 0; i < m; i++)
{
for(j = 0; j < n; j++)
{
if(map[i][j] == '@')
{
dfs(i, j);
p++;
}
}
}
printf("%d\n",p);
}
return 0;
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- [1011-
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 1011
- 默慈金数
- [BZOJ 4300] 绝世好题 · 乱搞
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
- mongoDB 3.0以上用户权限
- TimesTen 应用层数据库缓存学习:3. 环境准备 - DB 12cR1版本
- 1011
- javaScript基本用法
- 自己动手写数据库(一) 从SQL语句开始
- 图解NHibernate项目框架
- 欢迎使用CSDN-markdown编辑器
- 更新 "Github Fork 之后的 Repo" 的方法
- 颜色分类
- TinyReplaySystem回放系统设计和开发
- IBM openblockchain学习(五)--consensus源码分析