计算矩阵中的矩形

时间:2014-04-25 07:39:59

标签: algorithm matrix

矩阵可以是任何大小,但始终包含0或1。

您可以从用户获取矩阵的大小,并可以从用户获取值。

例如:Matrix:

1 1 1 1    
1 1 0 1    
1 1 1 1

此问题的目的是计算矩阵中的矩形。

  

矩形的属性如下:

     
      
  1. 矩形的边框仅包含1个。
  2.   
  3. 每个矩形需要包含至少一个0
             例如上面的矩阵中会有两个矩形。

         

    enter image description here

         

    enter image description here

  4.   
  5. 矩形可以包含多个矩形。

         

    enter image description here

  6.   
  7. 两个不同的矩形可以构成一个超级矩形。

         

    enter image description here

  8.   

有人可以考虑任何算法吗?

注意:假设用户输入了正确的值。

[编辑]:

将1视为点(。),将0视为空格(无)。

现在你必须连接所有相邻的点并计算矩形的数量。

但每个矩形应包含至少一个空格。

因此最小子矩阵将是3X3。

1 个答案:

答案 0 :(得分:0)

从头到尾

1 1 1 1    
1 1 0 1    
1 1 1 1
每接触0的1,

+1 在下一次迭代+2到所有接触非1 你最终应该得到这样的东西。

3 2 2 2    
3 2 0 2    
3 2 2 2