#A0062. 稀疏矩阵

稀疏矩阵

题目描述

矩阵中,若数值为 0 的元素数目远远多于非 0 元素的数目,并且非 0 元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非 0 元素数目占大多数时,则称该矩阵为稠密矩阵。

  • 当一个数组中大部分元素为 0 ,可以使用稀疏数组来保存该数组。
  • 记录数组一共有几行几列,有多少个不同的值。
  • 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。

给定一个 nmn*m 的稀疏矩阵,依次输出每一个非零元素所在的行号、列号和原始值,并统计其个数。

输入格式

第一行输入 2 个整数 nmn,m ,表示矩阵的行数和列数

接下来 nn 行,每行 mm 个整数(int范围内),表示矩阵

输出格式

对于矩阵中每一个非零元素,输出其对应行号、列号和原始值,占一行。(按照行号从小到大,同行内按列从小到大。)

最后一行输出一个整数,表示非零元素个数。

3 4
0 0 1 0
2 0 0 0
0 0 0 0
1 3 1
2 1 2
2

数据规模与约定

2n,m1002 \leq n,m\leq 100