数据结构实验之数组三:快速转置
来源:互联网 发布:大数据涂子沛概括 编辑:程序博客网 时间:2024/06/05 21:06
数据结构实验之数组三:快速转置
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
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
Hint
#include<bits/stdc++.h>using namespace std;struct node{ int a,b,c;}t[1010],T;int main(){ int n,m,p; while(cin>>n>>m>>p) { for(int i=0;i<p;i++) { cin>>t[i].a>>t[i].b>>t[i].c; } for(int i=0;i<p-1;i++) { for(int j=0;j<p-i-1;j++) { if(t[j].b>t[j+1].b) { T=t[j]; t[j]=t[j+1]; t[j+1]=T; } if(t[j].b==t[j+1].b) { if(t[j].a>t[j+1].a) { T=t[j]; t[j]=t[j+1]; t[j+1]=T; } } } } for(int i=0;i<p;i++) { cout<<t[i].b<<" "<<t[i].a<<" "<<t[i].c<<endl; } } return 0;}
0 0
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置(sdut_3347)
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- SDUT3347数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 数据结构实验之数组三:快速转置
- 洛谷1613跑路
- 交换a和b的方法讲解
- gnuplot画图中文字体乱码问题
- 在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复
- 【python】读取文件&停止启动进程
- 数据结构实验之数组三:快速转置
- 采样之MCMC
- Web上传文件的安全方式
- 三大 JS 框架的较量:Angular.js 与 React.js 与 Ember.js
- c++输入输出流操作笔记
- Codeforces#378 div.2 C. Epidemic in Monstropolis
- Android学习之路-------复习一下缓存和读取缓存,网络加载图片
- poj_3974最长回文子序列基础题
- 详细解释Basic disk和Dynamic disk