码迷,mamicode.com
首页 > 其他好文 > 详细

《挑战程序设计》-找水洼 题解

时间:2019-12-01 09:16:22      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:log   red   深搜   福利   img   cst   fine   view   技术   

《挑战程序设计》-找水洼 题解

2019-12-01

Powered by WSY

1.题目传送门:http://poj.org/problem?id=2386

2.题目思路:这道题其实是一个非常简单的搜索,我们只需要对于每一个点,向他的8个方向搜索就可以了。

3.代码:最后给大家粘一个福利(AC代码来源于:https://blog.csdn.net/qq_33929112/article/details/52627070)

 

技术图片
 1 #include <iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 #define maxn 105
 5 char field[maxn][maxn];
 6 int n,m;
 7 void dfs(int x,int y)
 8 {
 9 field[x][y]=.;
10 //循环遍历八个方向
11 for(int dx=-1;dx<=1;dx++){
12 for(int dy=-1;dy<=1;dy++){
13 int nx=x+dx,ny=y+dy;
14 //判断(nx,ny)是否在园子里,以及是否有积水
15 if(0<=nx&&nx<n&&0<=ny&&ny<m&&field[nx][ny]==W){
16 dfs(nx,ny);
17 }
18 }
19 }
20 }
21 void solve()
22 {
23 int res=0;
24 for(int i=0;i<n;i++){
25 for(int j=0;j<m;j++){
26 if(field[i][j]==W){
27 //从有积水的地方开始深搜
28 dfs(i,j);
29 res++;
30 }
31 }
32 }
33 printf("%d\n",res);
34 }
35 int main()
36 {
37 scanf("%d%d",&n,&m);
38 for(int i=0;i<n;i++){
39 for(int j=0;j<m;j++){
40 cin>>field[i][j];
41 }
42 }
43 solve();
44 return 0;
45 }
View Code

 

 

 

《挑战程序设计》-找水洼 题解

标签:log   red   深搜   福利   img   cst   fine   view   技术   

原文地址:https://www.cnblogs.com/Moyra/p/11965070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!