串--快速转置
来源:互联网 发布:淘宝网韩都衣舍 编辑:程序博客网 时间:2024/05/18 03:47
数据结构实验之数组三:快速转置
Problem Description
转置运算是一种最简单的矩阵运算,对于一个m*n的矩阵M( 1 = < m < = 10000,1 = < n < = 10000 ),它的转置矩阵T是一个n*m的矩阵,且T( i , j )=M( j , i )。显然,一个稀疏矩阵的转置仍然是稀疏矩阵。你的任务是对给定一个m*n的稀疏矩阵( m , n < = 10000 ),求该矩阵的转置矩阵并输出。矩阵M和转置后的矩阵T如下图示例所示。
稀疏矩阵M 稀疏矩阵T
Input
连续输入多组数据,每组数据的第一行是三个整数mu, nu, tu(tu <= 50),分别表示稀疏矩阵的行数、列数和矩阵中非零元素的个数,随后tu行输入稀疏矩阵的非零元素所在的行、列值和非零元素的值,同一行数据之间用空格间隔。(矩阵以行序为主序)
Output
输出转置后的稀疏矩阵的三元组顺序表表示。
Example Input
3 5 51 2 141 5 -52 2 -73 1 363 4 28
Example Output
1 3 362 1 142 2 -74 3 285 1 -5
#include<iostream>
#include<cstdio>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
struct node
{
int h,l,x;
}q[60];
int cmp(struct node a,struct node b)
{
if(a.h != b.h)
return a.h < b.h;
if(a.l != b.l)
return a.l < b.l;
}
int main()
{
int mu,nu,tu;
int i;
while(scanf("%d %d %d",&mu,&nu,&tu)!=EOF)
{
for(i = 0; i <= tu-1; i++)
{
scanf("%d %d %d",&q[i].l,&q[i].h, &q[i].x);
}
sort(q,q+tu,cmp);
for(i = 0; i <= tu-1; i++)
{
printf("%d %d %d\n",q[i].h,q[i].l,q[i].x);
}
}
return 0;
}
- 串--快速转置
- 快速转置矩阵
- 矩阵快速转置
- 矩阵的快速转置
- 稀疏矩阵快速转置
- 矩阵的快速转置
- 稀疏矩阵快速转置
- 矩阵的快速转置
- 稀疏矩阵快速转置
- 数据结构-矩阵快速转置
- 矩阵转置的快速转置
- 矩阵的快速转置算法
- 稀疏矩阵的快速转置
- 7. 矩阵的快速转置算法
- 稀疏矩阵的快速转置
- 稀疏矩阵的快速转置
- SDUT 3347 矩阵的快速转置
- 数据结构----稀疏矩阵的快速转置
- 接受现在的自己
- 58Q游戏(4)73(5)85(6)98(7)
- 如何直观理解交叉熵及其优势?
- USB一些解释说明
- CentOS 7.2 部署Node.js开发环境
- 串--快速转置
- jq应用总结(三)
- 第十一周项目1--(2)二叉树构造算法的验证--由先序序列和中序序列构造二叉树
- win32api双缓冲的使用例子(画线条)
- [JZOJ1919] [BZOJ2127]【2011集训队出题】happiness(最小割之二元关系)
- HDU 1159 Common Subsequence(最长公共子序列的长度)
- InSAR-DInSAR 技术细节(一) 关于条纹
- Java数据库编程
- tjut 5920