当前位置: 首页 > news >正文

网站建设公司创业计划书百度公司电话热线电话

网站建设公司创业计划书,百度公司电话热线电话,深圳市工程招标网中标公告,房地产开发公司资质等级该专栏题目包含两部分: 100 分值部分题目 200 分值部分题目 所有题目都会陆续更新,订阅防丢失 题目描述 在一个地图中(地图由 N ∗ N N*N N∗N 个区域组成),有部分区域被感染病菌。 感染区域每天都会把周围(上下左右)的4个区域感染。 请…

该专栏题目包含两部分:
100 分值部分题目
200 分值部分题目
所有题目都会陆续更新,订阅防丢失

题目描述

在一个地图中(地图由 N ∗ N N*N NN 个区域组成),有部分区域被感染病菌。

感染区域每天都会把周围(上下左右)的4个区域感染。

请根据给定的地图计算,多少天以后,全部区域都会被感染。

如果初始地图上所有区域全部都被感染,或者没有被感染区域,返回-1

输入描述

  • N ∗ N N*N NN 个数字(只包含0,1,不会有其他数字)表示一个地图,数字间用","分割

  • 0 表示未感染区域

  • 1表示已经感染区域

N N N 个数字表示只地图中一行,输入数据共表示 N N N N N N 列的区域地图。例如输入:

1,0,1,0,0,0,1,0,1

表示地图
[ 1 0 1 0 0 0 1 0 1 ] \begin{bmatrix} 1&0&1 \\ 0&0&0 \\ 1&0&1 \\ \end{bmatrix} 101000101

输出描述

1个整数,表示经过多少天以后,全部区域都被感染

数据范围

  • 1 ≤ N < 200 1≤N<200 1N<200

示例1

输入

1.0,1 0.0,0,1.0,1

输出

2

说明

1天以后,地图中仅剩余中心点未被感染;2天以后,全部被感染。

示例2

输入

0,0,0,0

输出

-1

说明

无感染区域

示例3

输入

1,1,1,1,1,1,1,1,1

输出

-1

说明

全部都感染

题解

BFS 使用广度优先算法求解

源码 Java

import java.util.ArrayList;
import java.util.List;public class Virus {static Input input;static {input = new Input("1,0,1,0,0,0,1,0,1");//input = new Input("1,1,1,1,1,1,1,1,1");//input = new Input("0,0,0,0,0,0,0,0,0");}static int N;static int[][] arr;public static void main(String[] args) {String[] s = input.nextLine().split(",");int n = (int)Math.sqrt(s.length);N = n;arr = new int[n][n];int index = 0;List<Point> list = new ArrayList<>();for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int i1 = Integer.parseInt(s[index++]);if (1 == i1) {list.add(new Point(i, j));}arr[i][j] = i1;}}if (list.size() == 0 || list.size() == s.length){System.out.println(-1);} else {System.out.println(bfs(arr, list));}}public static int bfs(int arr[][], List<Point> list) {int result = 0;while (!list.isEmpty()) {result++;int size = list.size();List<Point> temp = new ArrayList<>();for (int i = 0; i < size; i++) {Point point = list.get(i);if (isCleanArea(point.x - 1, point.y)) {temp.add(new Point(point.x - 1, point.y));arr[point.x - 1][point.y] = 1;}if (isCleanArea(point.x + 1, point.y)) {temp.add(new Point(point.x + 1, point.y));arr[point.x + 1][point.y] = 1;}if (isCleanArea(point.x, point.y - 1)) {temp.add(new Point(point.x, point.y - 1));arr[point.x][point.y - 1] = 1;}if (isCleanArea(point.x, point.y + 1)) {temp.add(new Point(point.x, point.y + 1));arr[point.x][point.y + 1] = 1;}}list = temp;}return result - 1;}public static boolean isCleanArea(int x, int y) {if (x < 0) return false;if (y < 0) return false;if (x >= N) return false;if (y >= N) return false;return arr[x][y] == 0;}static class Point{public int x;public int y;public Point(int x, int y) {this.x = x;this.y = y;}}}
http://www.hengruixuexiao.com/news/46541.html

相关文章:

  • 竖排导航网站爱站网为什么不能用了
  • 自助建站广告发布百度seo视频教程
  • 游戏网站的监管由谁来做优化推广什么意思
  • 做本地分类信息网站赚钱吗百度怎么投放自己的广告
  • 戚墅堰常州做网站百度账号中心
  • 临沂做网站好的公司sem是什么电镜
  • 物流公司网站建设方案百度搜索风云榜下载
  • 网站网站地图怎么做百度网页入口
  • php手机网站后台源码广州网站建设技术外包
  • 网站建设公司测评疫情最新数据消息
  • 网站建设服务合同是否缴纳印花税培训网站设计
  • 虐做视频网站重庆疫情最新消息
  • 网站源代码查看html网页制作步骤
  • 桂林哪里可以做网站windows优化工具
  • 编程scratch网站西安网站制作费用
  • 国内 设计网站的公司网站深圳网络推广专员
  • 广州网站建设第一公司如何找推广平台
  • 做网站如何上传apk推广一个产品有哪些方式
  • 设计服务网站牛奶推广软文文章
  • b2b商务平台排名seo软件
  • 北京企业展示网站建设不要手贱搜这15个关键词
  • 做视频网站弹窗百度打广告怎么收费
  • 百度上开个网站怎么做网络推广的好处
  • 可靠的微商城网站建设深圳货拉拉
  • 打开网站代码怎么写提高工作效率图片
  • 行业门户网站的优化怎么做yps行业门户系统信息流广告公司排名
  • 河北省住房城乡建设局网站首页培训机构在哪个平台找
  • 中牟郑州网站建设咸阳网站建设公司
  • 做网站好还是小程序好网站标题seo外包优化
  • 用asp.net做的网站模板下载成都百度业务员电话