0% found this document useful (0 votes)
40 views2 pages

Matrix Transpose: Input

The document defines a matrix as a rectangular array of elements, usually numbers. It describes how to represent a sparse matrix, which stores only the non-zero elements along with their row and column indices due to many zero elements. The transpose of a matrix is formed by interchanging the rows and columns. The problem is to write a program that takes a sparse matrix as input and outputs its transpose, represented in the same sparse format.

Uploaded by

Osamah 119
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views2 pages

Matrix Transpose: Input

The document defines a matrix as a rectangular array of elements, usually numbers. It describes how to represent a sparse matrix, which stores only the non-zero elements along with their row and column indices due to many zero elements. The transpose of a matrix is formed by interchanging the rows and columns. The problem is to write a program that takes a sparse matrix as input and outputs its transpose, represented in the same sparse format.

Uploaded by

Osamah 119
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

10895 Matrix Transpose

A matrix is a rectangular array of elements, most commonly numbers. A matrix with m rows and n
columns is said to be an m-by-n matrix. For example,
 
1 3 2
 0 4 −1 
A= 0 0

0 
5 −2 11
is a 4-by-3 matrix of integers.
The individual elements of a matrix are usually given lowercase symbols and are distinguished by
subscripts. The ith row and jth column of matrix A is usually referred to as aij . For example, a23 = −1.
Matrix subscripts are 1-based.
The transpose of a matrix M , denoted M T , is formed by interchanging the rows and columns of M .
That is, the ij-th element of M T is the ji-th element of M . For example, the transpose of matrix A
above is:  
1 0 0 5
AT =  3 4 0 −2 
2 −1 0 11
A matrix is said to be sparse if there are relatively few non-zero elements. As a m-by-n matrix has
mn number of elements, storing all elements of a large sparse matrix may be inefficient as there would
be many zeroes. There are a number of ways to represent sparse matrices, but essentially they are all
the same: store only the non-zero elements of the matrix along with their row and column.
You are to write a program to output the transpose of a sparse matrix of integers.

Input
You are given several sparse matrix in a row, each of them described as follows. The first line of the
input corresponds to the dimension of the matrix, m and n (which are the number of rows and columns,
respectively, of the matrix). You are then given m sets of numbers, which represent the rows of the
matrix. Each set consists of two lines which represents a row of the matrix. The first line of a set starts
with the number r, which is the number of non-zero elements in that row, followed by r numbers which
correspond to the column indices of the non-zero elements in that row, in ascending order; the second
line has r integers which are the matrix elements of that row. For example, matrix A above would have
the following representation:
4 3
3 1 2 3
1 3 2
2 2 3
4 -1
0

3 1 2 3
5 -2 11
Note that for a row with all zero elements, the corresponding set would just be one number, ‘0’, in
the first line, followed by a blank line.
You may assume:
Universidad de Valladolid OJ: 10895 – Matrix Transpose 2/2

• the dimension of the sparse matrix would not exceed 10000-by-10000,

• the number of non-zero element would be no more than 1000,

• each element of the matrix would be in the range of -10000 to 10000, and

• each line has no more than 79 characters.

Output
For each input case, the transpose of the given matrix in the same representation.

Sample Input
4 3
3 1 2 3
1 3 2
2 2 3
4 -1
0

3 1 2 3
5 -2 11

Sample Output
3 4
2 1 4
1 5
3 1 2 4
3 4 -2
3 1 2 4
2 -1 11

You might also like