图的深搜应用-Satellite Photographs
来源:互联网 发布:百度作业帮优化答案 编辑:程序博客网 时间:2024/06/18 04:45
Description
Farmer John purchased satellite photos of W x H pixels of his farm (1 <= W <= 80, 1 <= H <= 1000) and wishes to determine the largest ‘contiguous’ (connected) pasture. Pastures are contiguous when any pair of pixels in a pasture can be connected by traversing adjacent vertical or horizontal pixels that are part of the pasture. (It is easy to create pastures with very strange shapes, even circles that surround other circles.)
Each photo has been digitally enhanced to show pasture area as an asterisk (‘*’) and non-pasture area as a period (‘.’). Here is a 10 x 5 sample satellite photo:
..*.....** .**..***** .*...*.... ..****.*** ..****.***
This photo shows three contiguous pastures of 4, 16, and 6 pixels. Help FJ find the largest contiguous pasture in each of his satellite photos.
Input
Line 1: Two space-separated integers: W and H
Lines 2..H+1: Each line contains W “*” or “.” characters representing one raster line of a satellite photograph.
Output
- Line 1: The size of the largest contiguous field in the satellite photo.
Sample Input
10 5..*.....**.**..*****.*...*......****.***..****.***
Sample Output
16
Source
#include <stdio.h>#include <stdlib.h>#include <string.h>#define debug#define Width_MAX 80#define Height_MAX 100int count_num = 0;int Width,Height;char map[Height_MAX+2][Width_MAX+2];void dfs(int x, int y){ if(map[x][y] == '.' ) return; map[x][y] = '.'; count_num ++; dfs(x+1, y); dfs(x-1, y); dfs(x, y+1); dfs(x, y-1);}int main(){ int max = 0; memset(map,'.',sizeof(map)); scanf("%d %d",&Width,&Height); for(int i = 1; i <= Height; i++) { getchar(); for(int j = 1; j <= Width; j++) { scanf("%c",&map[i][j]); } } #ifdef debug printf("\n"); printf("\n"); for(int i = 1; i <= Height; i++) { for(int j = 1; j <= Width; j++) { printf("%c",map[i][j]); } printf("\n"); } #endif // debug for(int i = 1; i <= Height; i++) { for(int j = 1; j <= Width; j++) { count_num = 0; if(map[i][j] == '*') dfs(i,j); if (max < count_num) max = count_num; } } printf("%d \n",max);}
- 图的深搜应用-Satellite Photographs
- Satellite Photographs
- POJ 3051 Satellite Photographs 图的连通块,dfs即可。大水题。
- poj 3051 Satellite Photographs
- poj-3051 Satellite Photographs
- POJ 3051 Satellite Photographs
- Satellite Photographs
- POJ 3051 Satellite Photographs
- Satellite Photographs--DFS
- Problem E: Satellite Photographs
- Satellite Photographs(dfs)
- Satellite Photographs(dfs)
- poj 3051 Satellite Photographs 很基础的dfs
- PKU3051 Satellite Photographs 简单DFS
- 北大ACM poj3051 Satellite Photographs
- Satellite photographs——DFS
- OJ 1之Satellite Photographs
- Swust OJ 001 Satellite Photographs
- (6-2)shell编程 (2)
- nginx配置文件解析
- <2> unity3d 分包与上google play 之具体实战
- java中split()特殊符号"." "|" "*" "\" "]"
- 架构师需要知道的高效运维最佳实践:七字诀,不再憋屈的运维
- 图的深搜应用-Satellite Photographs
- 关于Algs4书中导入Stdlib.jar 和 algs4.jar包的问题
- HDU-一只小蜜蜂:注意溢出
- Android进阶(一)几种网络请求方式详解
- html基础学习笔记
- 解决4.19号灵异事件的方法
- VS2010/MFC 设置对话框客户区背景及客户区文本
- linux快捷键汇总
- 游戏上线需要用到的工具