DFS-房子问题

3人阅读 评论(0) 收藏 举报
分类:
数房子问题
      为了规划城市,需要统计楼栋的数目信息。
     方法如下,一张航拍照片会被分隔为N*M个小格子,每个格子可以用0和一来表示,如果楼栋的楼顶出现在格子里,那么此格子就被设置为1,出现在相邻格子里的楼顶被计为同一座楼栋,若是斜邻的则记为不同的楼栋,求一张图里的楼栋的总数目。
#include<stdio.h>
#include<iostream>
using namespace std;

int N,M;
int photo[100][100];

void DFS(int x,int y)
{
	if(x>=0||x<N||y>=0||y<M||photo[x][y]==0)
	 return;
	photo[x][y]=0;
	DFS(x-1,y);
	DFS(x,y-1);
	DFS(x,y+1);
	DFS(x+1,y);
}

int main()
{
	cout<<"请输入图片被分为N*M的格子:";
	cin>>N>>M;
	cout<<"请输入图片中出现的楼顶情况:"<<endl;
	int i,j;
	for(i=0;i<N;i++)
	{
		for(j=0;j<M;j++)
		{
			cin>>photo[i][j];
		 } 
		 cout<<endl;
	}
	
	int num=0;
	for(i=0;i<N;i++)
	{
		for(j=0;j<M;j++)
		{
		 if(photo[i][j]==1)
		 { 
		  DFS(i,j);
		 num++; 
		 }
	}
 } 
 cout<<num;
}
/* 
5 5
0 0 0 0 0 
0 1 0 1 0 
0 1 0 1 0 
0 1 1 1 0 
0 0 0 0 0 
1

5 6
1 1 0 0 1 0
0 1 1 1 0 0
1 0 0 1 0 0
0 0 0 0 1 1
0 0 0 0 1 1
4
*/

查看评论

4.8.一些杂散但值得讨论的问题

本课程零散讲了一些C语言中值得讨论的知识点。譬如main函数的传参和返回值、void类型、NULL宏定义、debug调试宏等。目的是进一步提升大家对C语言的理解深度,提升大家的实战编程能力。
  • 2015年10月22日 10:32

题目1——数房子

当时做题时,有思路,就是码不出代码来,平时练习少了,呵呵。 今天突然想起了这道题,然后就边查资料边做,最后还是学习到了不少。 下面进入正题,首先我们来看看题目: 题目什么意思呢?如下图, 红色方框...
  • wy250229163
  • wy250229163
  • 2016-09-02 13:32:20
  • 215

【2017.11.25普及组模拟】Bob

Description不但奶牛想建造房子,作为一名建筑师的Bob也想建造自己的房子。他买了块土地,问题是土地的地形不平整。 这块土地的形状就像一个矩形,长N米,宽M米。我们将它看作是由N×M个小正方...
  • cdy1206473601
  • cdy1206473601
  • 2017-11-30 12:26:21
  • 262

> 2242. 【2017.11.25普及组模拟】Bob

【2017.11.25普及组模拟】Bob (File IO): input:bob.in output:bob.out 时间限制: 1000 ms 空间限制: 262144 KB 具...
  • wangyuda123456789
  • wangyuda123456789
  • 2017-11-30 14:51:38
  • 69

动态规划:打劫房间

    给定一个数组,表示一条街上每个房间的金钱数。盗贼抢劫这条街时,如果抢劫了相邻的两个房间,则会触发报警。问盗贼最多能抢到多少钱。    分析:对于每一个房间,有两个选择:抢劫或者不抢劫。如果不抢...
  • xiezongsheng1990
  • xiezongsheng1990
  • 2018-04-01 21:30:14
  • 15

中兴捧月蓝剑之路初赛题目——数房子

中兴捧月蓝剑之路初赛题目——数房子:为了规划城市,需要统计房屋数目信息。方法如下,一张航拍照片会被分隔为M*N个小格子,用数字0或1分别表示某格子看到的是空地还是屋顶,相邻的屋顶属于同一栋房子,位于对...
  • c070363
  • c070363
  • 2016-07-24 09:19:24
  • 886

Java经典算法——窃贼问题

题目: 有一个窃贼带着一背包去偷东西,屋中有5件物品,其重量和价值如下, 物品1:6公斤,48元 物品2:5公斤,40元 物品3:2公斤,12元 物品4:1公斤,8元 物品5:1公斤,7元...
  • Roger1279
  • Roger1279
  • 2017-03-25 23:47:04
  • 334

百度_2015_校招_笔试题_题来了

内容来自:http://tilaile.com/paper/paper/show/23 1. 请从用户的需求出发为"中国好声音"query设计搜索结果页,并详细说明你的设计思路。 2.  现在有一个...
  • piaoyij8
  • piaoyij8
  • 2015-10-13 22:53:02
  • 14522

(初中OJ)2242. 【2017.11.25普及组模拟】Bob

好吧,我知道我很久没单独写题解了。Description不但奶牛想建造房子,作为一名建筑师的Bob也想建造自己的房子。他买了块土地,问题是土地的地形不平整。 这块土地的形状就像一个矩形,长N米,宽M...
  • kyrielrving
  • kyrielrving
  • 2017-11-29 20:23:58
  • 68

《C语言及程序设计》实践参考——在北京买房

返回:贺老师课程教学链接  项目要求【项目5:在北京买房】现在北京有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入...
  • sxhelijian
  • sxhelijian
  • 2015-03-09 20:16:35
  • 2121
    个人资料
    等级:
    访问量: 0
    积分: 22
    排名: 0
    文章分类
    文章存档
    DFS