Erlo

蓝桥杯(全球变暖dfs)

2023-04-04 21:30:12 发布   84 浏览  
页面报错/反馈
收藏 点赞

蓝桥杯(全球变暖dfs)

import java.util.Scanner;

/**
 * 该题使用了深度优先算法dfs用于把相连的#号当成一块大陆,并通过数组记录下有几块大陆
 * dfs算法并不难,只要对用dfs处理过后留下的aes数组和sea数组进行处理得到结果即可
 * 我的思路就是
 * 1、sea数组记录源数据,然后判断是否被淹赋‘*’号记录
 * 2、aes数组使用dfs算法把第一块大陆标记为1,第二块标记为2,以此类推
 * 3、最后假设num块大陆全部被淹,遍历sea数组如果有‘#’号则判断是第几块大陆,没有重复就使num减一
 * 4、最后输出num为最终结果
 */

public class test1 {
    static char[][] sea;//用于记录用例
    static int[][] aes;//用于记录不同的大陆,其值为不同大陆的标记
    static int n;//输入的初值
    static int num=0;//最后被淹没的大陆数量
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        n = scan.nextInt();
        sea = new char[n][n];
        aes = new int[n][n];
        //初始化sea
        for(int i=0;i=0 && a+y[i]=0 && b+x[i]=0 && a+y[i]=0 && b+x[i]

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

浏览 2966.95 万次 点击这里给我发消息

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认