zoukankan      html  css  js  c++  java
  • 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。

    思路: 

    对矩阵中任何一个节点O,找到其所有的邻近节点A,B..并相加得到和sum,用sum-节点A的值,得到一个新值O1。再找所有和AB..邻近的(已经出现的不再加)之和,减去O1,又得到一个新值O2,重复该过程,直到O值等于0或小于0。

    若小于0,则不可能。

    若所有的节点经过该运算等于0则可以。

    构造的过程如下:找到矩阵中最小的元素,找到相邻最小的同时减去最小值,重复该过程,就可以减到0。

    例如:       矩阵      1  2

                                     3  4

                 首先对于第一行第一列元素1,,它的相邻元素和为2+3=5,将5-1得到4;元素2和3的相邻元素为4(1已出现),而4-4=0,元素1满足要求。

      同理求解元素2、3、4,同样可得到最后的结果都为0,故此矩阵可由一个全零矩阵实现。

  • 相关阅读:
    c++ primer 中讲的顶层const 和 底层 const 理解
    github 0 学习
    MySQL 0 学习
    c++11 move构造函数和move operator 函数 学习
    c++11 多线程 1
    c++ 多线程 0
    学习 emplace_back() 和 push_back 的区别 emplace_back效率高
    crontab执行脚本失败问题
    lucene 排序
    maven 内置变量
  • 原文地址:https://www.cnblogs.com/Trony/p/2621221.html
Copyright © 2011-2022 走看看