博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
相聚 桂林电子科技大学第三届ACM程序设计竞赛
阅读量:5871 次
发布时间:2019-06-19

本文共 1017 字,大约阅读时间需要 3 分钟。

题目链接:

  就是求有多少块区域,用DFS就可以解决,一遇到一个1就从其开始深搜,将其所在的区域块覆灭(变为0),再遇到一个1,重复此操作。

Accept

import java.util.Scanner;public class Main {        static int old=0;    static int N;    static int M;    static char array[][];    static int x[]={-1,0,1,0};    //上左下右    static int y[]={0,1,0,-1};        static void solve(char array[][],int i,int j){        array[i][j]='0';        for(int d=0;d<4;d++){            int dx=i+x[d];            int dy=j+y[d];            if(dx<0 || dy<0 || dx>N-1 || dy>M-1){    //越界判断                continue;            }            if(array[dx][dy]=='1'){    //深搜覆盖这个岛屿                array[dx][dy]='0';                solve(array,dx,dy);            }        }    }    public static void main(String[] args){        Scanner reader=new Scanner(System.in);        int T=reader.nextInt();        while(T>=1){             old=0;             N=reader.nextInt();             M=reader.nextInt();             array=new char[N][M];             for(int i=0;i

转载于:https://www.cnblogs.com/chiweiming/p/10707450.html

你可能感兴趣的文章
动态路由 RIP的配置方法
查看>>
可视化与办公自动化学习
查看>>
Android Studio NDK 开发配置
查看>>
/var/spool/clientmqueue文件分析
查看>>
AndroidVector初探
查看>>
httpSession的正确理解
查看>>
HP 380 G5安装CentOS7时找不到P400 raid卡
查看>>
虚拟环境--virtualenv
查看>>
html+javascript实现数字微调,点击一下增加1或减去1
查看>>
启动tomcat后无法访问
查看>>
ES6、TYPESCRIPT、ATSCRIPT和BABEL是什么玩意儿
查看>>
java根据wait,notify,synchronize关键字自定义队列
查看>>
linux下配置socks 5代理
查看>>
LVS三种工作模式、十种调度算法介绍
查看>>
我的友情链接
查看>>
Openfiler---开源存储管理平台
查看>>
weblogic故障报错
查看>>
CLR线程池的作用与原理浅析
查看>>
MySQL -- 获取当前数据行号
查看>>
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
查看>>