深度优先遍历图 VS 广度优先遍历图.gif importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.io.PrintWriter;importjava.util.Arrays;importjava.util.Scanner;publicclassMain{privatestaticfinalintMAXSIZE=105;privatestaticcharrooms[][...
}voiddfs(intx,inty){ G[x][y] ='*';for(inti =0; i <8; i++) {intnx = x + Move[i][0];intny = y + Move[i][1];if(ok(nx, ny))dfs(nx, ny); } }intmain(){while(scanf("%d%d", &n, &m) && m) {for(inti =0; i < n; i++) cin >> G[i];intans =0;for...
链接:https://vjudge.net/problem/HDU-1241#author=prayerhgq 题意: GeoSurvComp地质调查公司负责探测地下石油储藏。 GeoSurvComp现在在一块矩形区域探测石油,并把这个大区域分成了很多小块。他们通过专业设备,来分析每个小块中是否蕴藏石油。如果这些蕴藏石油的小方格相邻,那么他们被认为是同一油藏的一部分。在这块矩...
HDU - 1241 - Oil Deposits(DFS联通块) 题目链接 题意: 就是给你一个地图,找出所有不相连(八个方向)的@组合有多少个 题解: 经典的DFS求联通块的题,和紫书上求油田一样,枚举每一个点进行DFS搜联通的@ AC代码: #include <stdio.h> #include<bits/stdc++.h> using namespace std; const int maxn...
@@@ @@**@ 0 0 Sample Output 0 1 2 2 #include<iostream>usingnamespacestd;chardp[105][105];intc;intk;intbfs(intx,inty){intsum=0;if(dp[x][y]=='@'){sum++;if(y<k){dp[x][y]='*';sum=sum+bfs(x,y+1);}if(y>0){dp[x][y]='*';sum=sum+bfs(x,y-1);}if(x<c)...
【HDU - 1241】Oil Deposits (连通块问题 属于求大海中的岛屿个数 类似问题),题干: TheGeoSurvCompgeologicsurveycompanyisresponsiblefordetectingunderground
HDU-1241-Oil Deposits 题意: GeoSurvComp地质调查公司负责探测地下石油储藏。 GeoSurvComp现在在一块矩形区域探测石油,并把这个大区域分成了很多小块。他们通过专业设备,来分析每个小块中是否蕴藏石油。如果这些蕴藏石油的小方格相邻,那么他们被认为是同一油藏的一部分。在这块矩形区域,可能有很多油藏。你的任务是确定...
2015-02-21 05:33 −HDU 1241 是深搜算法的入门题目,递归实现。 原题目传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1241 代码仅供参考,c++实现: #include <iostream> using namespace std; c... 雨傾晨叶 0 743 Hdu_1241 Oil Deposits ...
只是代码风格不好,比如你把所有的变量都声明为全局变量。如此,你每一个模块都共享全局变量,很危险!比如下标i,函数ss对i的改动是全局影响的,使得递归返回后i不能按你所想的变化下去,当然就错了!当然,该全局的就全局,比如m,n(声明为局部变量也可以,大不了传参嘛)。我很郁闷你能写出这样的...
hdu1003MaxSum分 治法 思路: 将原数组递归分解为两个子数组,直到能求解出子解为止,再将答案合并。 难点:产生数组的最大子序列只有以下三种情况: 1.最大子序列为左子数组的最大子序列; 2.最大子序列为右子数组的最大子序列; 3.最大子序列为跨中点的最大子序列;(特殊情况) 依照以上三种情况分而治之即得...