问题 J: 稀疏矩阵转换成简记形式-附加代码模式
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1448
解决:957
题目描述
大部分元素是0的矩阵称为稀疏矩阵,假设有k个非0元素,则可把稀疏矩阵用k*3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的非元素的值。如:
0 0 0 5
0 2 0 0
0 1 0 0
可以简记成:
1 4 5
2 2 2
3 2 1
试编程读入一稀疏矩阵,转换成简记形式,并输出。
本题为附加代码模式,main函数代码会自动补在同学们提交的代码后面,具体如下:
0 0 0 5
0 2 0 0
0 1 0 0
可以简记成:
1 4 5
2 2 2
3 2 1
试编程读入一稀疏矩阵,转换成简记形式,并输出。
本题为附加代码模式,main函数代码会自动补在同学们提交的代码后面,具体如下:
int main()
{
// freopen("/config/workspace/answer/test.in","r",stdin);
int *matrix, m, n;
cin >> m;
cin >> n;
matrix = new int[m*n];
for (int i = 0; i < m*n; i++)
cin >> matrix[i];
TriTable T;
CreateTriTable(T, matrix, m, n);
PrintTriTable(T);
DestroyTriTable(T);
delete []matrix;
return 0;
}
输入
首先有一行两个整数n和m,表示矩阵的行数和列数。 1<=n,m<=100
接下来的n行,每行有m个数,表示该矩阵。
接下来的n行,每行有m个数,表示该矩阵。
输出
按题目要求输出矩阵的简记形式。
样例输入 复制
3 5
0 0 0 0 5
0 0 4 0 0
1 0 0 0 1
样例输出 复制
1 5 5
2 3 4
3 1 1
3 5 1
提示
代码框架如下图所示: