P
来源:互联网 发布:apache原理 编辑:程序博客网 时间:2024/04/28 11:07
Description
Input
Output
Sample Input
1 1*3 5*@*@***@***@*@*1 8@@****@*5 5 ****@*@@*@*@**@@@@*@@@**@0 0
Sample Output
0122
题目分析
给你一个地图,上面有油田的标记,水平垂直或对角都属于同一个油田,问一共有多少个油田
解题思路
深搜呗,向八个方向上搜索
源代码
#include<iostream>#include<string>#include<string.h>#include<stdio.h>char map[105][105];int n,m;int dir[][2]={{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1}};bool dfs(int i,int j){ int xx,yy,k; map[i][j]='*'; for(k=0;k<8;k++) { xx=i+dir[k][0]; yy=j+dir[k][1]; if(xx>-1&&xx<n&&yy>-1&&yy<m) { if(map[xx][yy]=='@') dfs(xx,yy); } }}int main(){ int i,j,sum; while(~scanf("%d%d",&n,&m)&&n&&m) { sum=0; for(i=0;i<n;i++) scanf("%s",map[i]); for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(map[i][j]=='@') { dfs(i,j); sum++; } } } printf("%d\n",sum); }}
- p;
- p
- p
- p
- p
- P
- :-P
- p
- p++
- p**
- *p++,(*p)++,*++p,++*p
- *p++, *++p, ++*p, (*p)++
- P
- *p++
- *p++, ++*p, (*p)++, *++p
- P
- *p++ *++p *(p++) *(++p)
- p
- Mac各种安装记录:homebrew,zsh,Nginx,MySQL,PHP 等持续更新
- 第七届蓝桥杯决赛JavaA组第二题_凑平方数
- JavaWeb开发知识总结(Cookie,Session)
- John carmark在idtech6 ,光线追踪,物理的谈话 第二部分
- UVA
- P
- Java 使用 Redis
- DEDE整站动态化或整站静态化设置方法,织梦栏目批量静态/动态方法
- Python可变/不可变数据类型
- 初识Node.js
- 眼见为实(2):介绍Windows的窗口、消息、子类化和超类化
- 项目质量管理脉络
- 基于Java Swing的仪表盘实现
- Linux 使用 egrep 和 cut 去 解析 jmeter的 测试 结果 数据