hdu 1241 Oil Deposits 深搜 Ac
来源:互联网 发布:对外汉语 知乎 编辑:程序博客网 时间:2024/05/16 07:15
1241 hdu原链接处
package cn.hncu.start;import java.util.Scanner;public class p1241 {static int n,m;final static int b[][]={//因为题目要求连起来的才算一个,所以必须要把上下左右等八个坐标表示出来{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}};public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){ n=sc.nextInt(); m=sc.nextInt(); if(n==0&&m==0){ break; } //字符收集char[][] a=new char[n][m];//存字符for(int i=0;i<n;i++){String str=sc.next();//先收取一行,然后后面单个解析 for(int j=0;j<m;j++){a[i][j]=str.charAt(j);//解析 }}int count=0;//用来统计有多少个for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(a[i][j]=='@')//若满足条件,开始进行深搜{dfs(a,i,j);count +=1;//一次深搜结束后,就能确定为一个油田}}}System.out.println(count);//输出要求}}private static void dfs(char[][] a,int start, int end) {int x=0,y=0;for(int i=0;i<8;i++){x=start+b[i][0];//该坐标点的x标和y坐标开始遍历,找出符合条件的y=end+b[i][1];if(x<n&&x>=0 && y>=0&&y<m && a[x][y]=='@'){//符合这个条件a[x][y]='*';//方便下次不去访问;其实也可以用整数来表示,不过前面就需要在加数组表示。dfs(a,x,y);}
<span style="white-space:pre"></span>}}}
0 0
- hdu 1241 Oil Deposits 深搜 Ac
- hdu 1241 Oil Deposits(深搜)
- HDU 1241Oil Deposits
- HDU---1241Oil Deposits
- Hdu 1241 Oil Deposits
- Hdu 1241 - Oil Deposits
- HDU-1241:Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu - 1241 - Oil Deposits
- HDU-1241Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- mongodb中处理插入数据去重问题
- Android中的Environment.getExternalStorageState使用
- 街区最短路径问题
- HDOJ 2289 Cup(数学二分)
- 九度oj 1455
- hdu 1241 Oil Deposits 深搜 Ac
- HDU 5272 Dylans loves numbers——BestCoder Round #45(模拟)
- linux centos6.5安装tengine(nginx)
- 十大经典数据挖掘算法之C4.5算法
- iOS 国外 sdk 分享
- 该如何在CSDN博客频道中学习
- oracle学习笔记:;连接查询(内连接的等值连接和非等值连接,外链接的左外、右外及全外链接)
- 同时可以修改时间和日期的datetime_select and 有关时间的转换
- SVN_Versions1.3.2_自破解