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

分析 网站房屋平面图设计app

分析 网站,房屋平面图设计app,室内设计公司官网,wordpress 用户 表单文章目录 分值#xff1a;200题目描述思路复杂度分析AC 代码 分值#xff1a;200 题目描述 存在一个 m * n 的 二维数组只#xff0c;其成员取值范围为0, 1, 2。其中值为1的元素具备同化特性#xff0c;每经过1S#xff0c;将上下左右值为0的元素同化为1。而值为2的元素… 文章目录 分值200题目描述思路复杂度分析AC 代码 分值200 题目描述 存在一个 m * n 的 二维数组只其成员取值范围为0, 1, 2。其中值为1的元素具备同化特性每经过1S将上下左右值为0的元素同化为1。而值为2的元素免疫同化。 将数组所有成员随机初始化只为0或2再将矩阵的[0,0]元素修改成1在经过足够长的时间后求矩阵中有多少个元素是0或2(即0和2数量之和)。 输入描述: 输入的前两个数字是矩阵大小n 和m。 接着输入n行m列表示矩阵信息。 输出描述: 返回矩阵中非 1的元素个数。 示例1 输入 4 4 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2 输出 3 解释 除了矩阵中 3 个值为2的元素其他元素全部同化为1了。 示例2 输入 4 4 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 输出 12 解释 只有第一列被同化为1了第2、3、4列没有被同化因为第二列全是值为2的元素阻挡住同化了。 Tips: 0 m, n 30 思路 从将上下左右值为0的元素同化为1 这点可以联系到BFS这是一道很经典的宽度优先搜索的题目可以当做模板题进行练习。从[0, 0]开始出发只有值为0的元素才能被同化所以只将1周围的 0 元素放进队列直到队列为空即可。答案要求返回矩阵中非 1的元素个数。可以在遍历的同时进行计算每当有一个元素被同化那么ans就减一。 复杂度分析 时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)其中N和M分别为矩阵的行长跟列长每个位置只需要访问一次。空间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)其中N和M分别为矩阵的行长跟列长用于存储矩阵信息。 AC 代码 C 版 #include bits/stdc.h using namespace std; int main() {int n, m, ans, dis[4][2] {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};cin n m;vectorvectorint mx(n, vectorint(m));for (int i 0; i n; i){for (int j 0; j m; j){cin mx[i][j];}}mx[0][0] 1;// 一开始 0 跟 2 的个数之和, 后面每次有同化的就 -1 即可ans n * m - 1;queuepairint, int q;q.push({0, 0});while (!q.empty()){auto t q.front();q.pop();for (int i 0; i 4; i){int x t.first dis[i][0], y t.second dis[i][1];if (x 0 x n y 0 y m mx[x][y] 0){mx[x][y] 1;ans--;q.push({x, y});}}}cout ans endl;return 0; }JAVA 版 import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int m scanner.nextInt();int ans;int[][] dis {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int[][] mx new int[n][m];for (int i 0; i n; i) {for (int j 0; j m; j) {mx[i][j] scanner.nextInt();}}mx[0][0] 1;ans n * m - 1;Queueint[] q new LinkedList();q.add(new int[]{0, 0});while (!q.isEmpty()) {int[] t q.poll();for (int i 0; i 4; i) {int x t[0] dis[i][0];int y t[1] dis[i][1];if (x 0 x n y 0 y m mx[x][y] 0) {mx[x][y] 1;ans--;q.add(new int[]{x, y});}}}System.out.println(ans);} }Python 版 from collections import dequen, m map(int, input().split()) ans 0 dis [[-1, 0], [1, 0], [0, -1], [0, 1]]mx [] for _ in range(n):mx.append(list(map(int, input().split())))mx[0][0] 1 ans n * m - 1 q deque([(0, 0)])while q:t q.popleft()for i in range(4):x t[0] dis[i][0]y t[1] dis[i][1]if 0 x n and 0 y m and mx[x][y] 0:mx[x][y] 1ans - 1q.append((x, y))print(ans)
http://www.hkea.cn/news/14570922/

相关文章:

  • 网站开发团队人数构成网站建设找伟杨科技
  • 潍坊网站建设品牌大望路网站制作
  • 网站收录作用网站做英文版有用吗
  • 广州越秀区网站建设湖南百度推广公司
  • 北流建设局网站做网站怎建立ftp和数据库
  • 网站模板免费吗郑州网站seo技术
  • 自己电脑做网站服务器违法吗外贸网站免费建设
  • 各大网站大全代理记账一般多少钱一个月
  • 做网站培训班中国核工业第五建设有限公司是国企吗
  • 百度站长自动推送wordpress精品网站制作公司
  • 网站建设案例 算命网站重庆最新新闻头条
  • wordpress 腾讯视频济南百度推广优化
  • 模板网站和定制网站后缀的区别怒江州住房和城乡建设部网站
  • 网站建设小杭州百度快照优化排名推广
  • 有没有做网站的电话小米官方网站开发版
  • 重庆最好的网站建设在社保网站上怎么做员工的退费
  • 金华住房与城乡建设部网站xx汽车企业网站和信息化建设
  • 下做图软件在哪个网站下载器网页代做价格
  • 淄博网站快照优化公司江西门户网站建设
  • 网站行高济南网络公司排名
  • dw如何做商业网站wordpress 加广告位
  • 长春企业网站制作优化深圳有做网站最近价格
  • 网站建设域名注册西宁网站建设君博推荐
  • 温州建网站公司哪家好seo技术代理
  • 有哪些网站可以做店面设计软件贪便宜网站
  • 万户建站找回老网站
  • linux 网站服务器搭建外网加速
  • 可以做兼职的网站有哪些工作怎样给自己的网站做防红连接
  • 济南建设集团招聘信息网站利尔化学股票
  • 用钩针做花网站微信从事网站开发需要什么