Property Distribution Aizu
来源:互联网 发布:2017网络流行语的英文 编辑:程序博客网 时间:2024/06/08 00:06
题意:
在H W的矩形果园里有苹果、梨、蜜柑三种果树, 相邻(上下左右)的同种果树属于同一个区域,给出果园的果树分布,求总共有多少个区域。
思路:深搜。
AC代码:
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <algorithm>
using namespace std;
int h,l;
int dp[101][101];
char g[101][101];
int ans;
int dx[5]={0,1,0,-1};
int dy[5]={1,0,-1,0};
void dfs(int x,int y,char c)
{
for(int i=0;i<4;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
//第一种
if(nx<0|nx>h||ny<0||ny>l||g[nx][ny]!=c)
{
continue;
}
else
{
g[nx][ny]=0;
dfs(nx,ny,c);
}
//第二种:
//g[x][y]=0;
// if(nx>=0&&nx<h&&ny>=0&&ny<l&&g[nx][ny]==c)
// dfs(nx,ny,c);
int main()
{
while(scanf("%d%d",&h,&l))
{
ans=0;
memset(dp,0,sizeof(dp));
if(h==0&&l==0) break;
for(int i=0;i<h;i++)
for(int j=0;j<l;j++)
scanf("%s",g[i]);
for(int i=0;i<h;i++)
for(int j=0;j<l;j++)
{
if(g[i][j])
{
ans++;
int x=i,y=j;
dfs(x,y,g[i][j]);
}
}
cout<<ans<<endl;
}
}
- Aizu-0118 Property Distribution
- Property Distribution Aizu
- Aizu-0118 Property Distribution(深搜)
- aizu/aoj-0118-Property Distribution
- 【算法渣渣的逆袭之路】Property Distribution Aizu - 0118
- Aizu 1369 Distribution Center 模拟|签到
- AOJ0118 Property Distribution 搜索
- aoj0118-Property Distribution
- AOJ--0118 Property Distribution
- AOJ0118 Property Distribution【DFS】
- AOJ0118 Property Distribution(DFS)
- AOJ 0118 Property Distribution (DFS)
- AOJ0118 Property Distribution 裸dfs
- AOJ 0118 Property Distribution (BFS)
- AOJ 0118 Property Distribution 题解
- aoj0118 Property Distribution(dfs)
- [DFS] AOJ 0118 Property Distribution
- AOJ Property Distribution (dfs_连通性)
- Java等待多个线程执行完毕
- jquery文本和值text、html、attr、val
- Python基础学习(一)
- 如何在Eclipse中添加tomcat服务器,eclipse和tomcat的关系
- 怎么免费注册微信小程序-微信小程序开发-视频教程1
- Property Distribution Aizu
- 在mac系统安装Apache Tomcat的详细步骤
- LevelDB源码分析
- Argus UVA
- 从文件管理到获取洞见,AI 正在彻底变革企业内容管理
- Centos7 安装mysql5.7
- HDU
- .net http接收数据流一样
- Unity3D的Time类(UnityEngine.Time)详解