`
believexkx
  • 浏览: 22572 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

HDU 1241 Oil Deposits DFS

阅读更多
题意:N*M的图中有一些'@',从该位置往四周8个位置延伸,求几块互不连通的‘@’构成的块。简单的DFS便能搞定

import java.util.Scanner;

public class Main{
	static int m,n;
 	static char[][] arr=new char[101][101];
	public static void main(String[] args)
	{
		Scanner scan=new Scanner(System.in);
		while(true)
		{
			m=scan.nextInt();
			n=scan.nextInt();
			if(m==0)
				break;
			else{
				for(int i=0;i<m;i++)
				{
					String a=scan.next();
					arr[i]=a.toCharArray();
				}
				int cnt=0;
				for(int i=0;i<m;i++)
				{
					for(int j=0;j<n;j++){
						if(arr[i][j]=='@')
						{
							cnt++;
							dfs(i,j);
						}
					}
				}
				System.out.println(cnt);
			}
			
		}
	}
	static void dfs(int i,int j)
	{
		int[] dir={1,-1,0,0,1,-1,1,-1,0,0,1,-1,1,1,-1,-1};
		arr[i][j]='*';
		for(int k=0;k<8;k++)
		{
			int row=i+dir[k];
			int cul=j+dir[k+8];
			
			if(row>=0&&row<m&&cul>=0&&cul<n&&arr[row][cul]=='@')
			{
				dfs(row,cul);
			}
		}
		
	}
}
分享到:
评论

相关推荐

    解题代码 hdu1241

    ### 知识点解析 #### 一、题目背景与理解 根据给定的文件信息,我们可以得知这是一段用于解决HDU(Hdu Online Judge)编号为...综上所述,这段代码有效地解决了HDU 1241的问题,展示了DFS在解决实际问题中的应用。

    ACM.zip_visual c

    "HDU1241 Oil Deposits.cpp"很可能就是通过BFS策略,解决了资源分配或路径规划的问题。 在这些题目中,"HDU1242 Rescue.cpp"可能涉及到对图的深度优先搜索,模拟救援任务的执行顺序;"HDU1240 Asteroids!".cpp可能...

    hdu.rar_hdu

    7. **模板代码**:如快速幂、二分查找、DFS/BFS等常用算法的通用实现。 8. **问题解决策略**:理解题目需求、设计合适的数据结构、分析时间复杂度和空间复杂度、调试和优化代码。 9. **调试技巧**:使用调试工具...

    HDU题目java实现

    8. **图论与树**:HDU题目中可能涉及图的遍历(深度优先搜索DFS、广度优先搜索BFS)、树的遍历(前序、中序、后序)以及最小生成树、最短路径等算法。 9. **动态规划**:这是一种优化策略,通过构建状态转移方程来...

    HDU_2010.rar_hdu 2010_hdu 20_hdu acm20

    【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...

    八数码A*算法 HDU 1043

    八数码的A*算法~不是很高效,但是很适合刚刚学这个算法的朋友们

    ACM HDU题目分类

    ACM HDU 题目分类 ACM HDU 题目分类是指对 HDU 在线判题系统中题目的分类,总结了大约十来个分类。这些分类将有助于编程选手更好地理解和解决问题。 DP 问题 DP(Dynamic Programming,动态规划)是一种非常重要...

    hdu1250高精度加法

    ### hdu1250高精度加法 #### 背景介绍 在计算机科学与编程竞赛中,处理大整数运算(特别是加法、减法、乘法等)是常见的需求之一。当数字的位数超过了标准数据类型(如`int`、`long`等)所能表示的最大值时,就需要...

    HDU DP动态规划

    【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...

    hdu acm 教案(7)

    HDU ACM教案是针对ACM/ICPC(国际大学生程序设计竞赛)的训练教程,旨在帮助参赛者提升算法和编程技能。"搜索入门"这部分内容是教程中的一个重要章节,主要介绍在解决算法问题时如何有效地运用搜索策略。在这个章节...

    HDU1059的代码

    HDU1059的代码

    Hdu1000—2169部分代码

    2. **搜索算法**:深度优先搜索(DFS)、广度优先搜索(BFS)、二分查找等。 3. **动态规划**:解决具有重叠子问题和最优子结构的问题。 4. **图论算法**:最短路径算法(Dijkstra、Floyd-Warshall)、拓扑排序、...

    hdu1001解题报告

    hdu1001解题报告

    hdu 1574 passed sorce

    hdu 1574 passed sorce

    hdu2101解决方案

    hdu2101AC代码

    HDU图论题目分类

    2. 图的遍历:深度优先搜索(DFS)、广度优先搜索(BFS)等。 * 题目1043:Eight,涉及到多种解决方法。 * 题目1044:Collect More Jewels,涉及到动态规划(DP)的概念。 3. 图的搜索:图的搜索算法、图的路径查找...

    ACM HDU

    【ACM HDU】指的是在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者在杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的在线评测系统上完成并已解决的题目集合...

    杭电ACMhdu1163

    【标题】:杭电ACMhdu1163 【描述】:这是一道源自杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的ACM编程竞赛题目,编号为1163。这类问题通常需要参赛者利用计算机编程解决数学、逻辑或算法上的挑战,...

    ACM hdu 代码大全3000例,部分代码有详细解析

    《ACM HDU代码大全3000例:探索算法与编程艺术》 在计算机科学领域,特别是竞赛编程中,ACM(国际大学生程序设计竞赛)是一项极富挑战性的活动,它不仅锻炼了参赛者的逻辑思维能力,还提高了他们在算法设计和实现上...

Global site tag (gtag.js) - Google Analytics