hdu 1241 Oil Deposits (一次dfs搞定有某有)

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 using namespace std;
 6 char map[105][105];
 7
 8 int dir[8][2]={0, 1, 1, 0, -1, 0, 0, -1, 1, 1, 1, -1, -1, 1, -1, -1};
 9 int n, m;
10 int ans;
11
12 bool judge(int x, int y){
13       if(x<1 || x>n || y<1 || y>m) return false;
14       return true;
15 }
16
17 void dfs(int x, int y, bool flag){
18
19    if(map[x][y]==‘@‘){
20           map[x][y]=‘*‘;
21           ++ans;
22        for(int i=0; i<8; ++i){
23              int xx=x+dir[i][0], yy=y+dir[i][1];
24              if(judge(xx, yy) && map[xx][yy]==‘@‘){
25                   --ans;
26              dfs(xx, yy, 1);
27           }
28        }
29        if(flag)  return;//flag==1表明没有将油田搜索完毕
30    }
31
32    for(int i=0; i<8; ++i){
33           int xx=x+dir[i][0], yy=y+dir[i][1];
34             if(judge(xx, yy) && map[xx][yy]!=‘#‘){
35               if(map[xx][yy]==‘*‘)
36                  map[xx][yy]=‘#‘;
37               dfs(xx, yy, 0);
38           }
39    }
40 }
41
42 int main(){
43     while(cin>>n>>m && (n||m)){
44         for(int i=1; i<=n; ++i)
45            cin>>(map[i]+1);
46         ans=0;
47         dfs(1, 1, 0);
48         cout<<ans<<endl;
49     }
50     return 0;
51 }

hdu 1241 Oil Deposits (一次dfs搞定有某有),布布扣,bubuko.com

时间: 2024-09-30 15:17:38

hdu 1241 Oil Deposits (一次dfs搞定有某有)的相关文章

HDU 1241 Oil Deposits --- 入门DFS

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1241 /* HDU 1241 Oil Deposits --- 入门DFS */ #include <cstdio> int m, n; //n行m列 char mapp[105][105]; /* 将和i,j同处于一个连通块的字符标记出来 */ void dfs(int i, int j){ if (i < 0 || j < 0 || i >= n || j >= m

DFS(连通块) HDU 1241 Oil Deposits

题目传送门 1 /* 2 DFS:油田问题,一道经典的DFS求连通块.当初的难题,现在看上去不过如此啊 3 */ 4 /************************************************ 5 Author :Running_Time 6 Created Time :2015-8-4 10:11:11 7 File Name :HDOJ_1241.cpp 8 ************************************************/ 9 10

hdu 1241 Oil Deposits(DFS求连通块)

HDU 1241  Oil Deposits L -DFS Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rec

PKU 1562/HDU 1241 Oil Deposits(原油有多少块区域---BFS,DFS)

Oil Deposits Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region o

HDU 1241 Oil Deposits(石油储藏)

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt } h1 { margin-top: 5.0000pt; margin-bottom: 5.0000pt; text-align: center; font-family: 宋体; color: rgb(26,92,200); font-weight: bold; fo

HDU 1241 Oil Deposits(DFS)

题目链接 Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerous squa

HDU 1241 Oil Deposits【DFS】

解题思路:第一道DFS的题目--- 参看了紫书和网上的题解-- 在找到一块油田@的时候,往它的八个方向找,直到在能找到的范围内没有油田结束这次搜索 可以模拟一次DFS,比如说样例 在i=0,j=1时,发现第一块油田,对它DFS,这样经过一次DFS,所有的油田都被找出来了,被记0 Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss

HDOJ/HDU 1241 Oil Deposits(经典DFS)

Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerous square pl

hdu 1241 Oil Deposits(八方向简单深搜,对新手挺经典)

Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12461 Accepted Submission(s): 7245 Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground