三元组顺序表表示的稀疏矩阵转置Ⅱ

三元组顺序表表示的稀疏矩阵转置Ⅱ。设a和b为三元组顺序表变量,分别表示矩阵M和T。要求按照a中三元组的次序进行转置,并将转置后的三元组置入b中恰当的位置。

输入格式:
输入第1行为矩阵行数m、列数n及非零元素个数t。
按行优先顺序依次输入t行,每行3个数,分别表示非零元素的行标、列标和值。

输出格式:
按置入b中的顺序输出置入的位置下标,转置后的三元组行标、列标和值,数据之间用空格分隔,共t行。

输入样例:

3 4 3
0 1 -5
1 0 1
2 2 2

输出样例:

1 1 0 -5
0 0 1 1
2 2 2 2

#include 
using namespace std;
#define int long long 
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
typedef pair PII;
const int N=2e6+10;
struct node
{
    int m,n,num;
    vector > k;  //三元组
}s,p;
signed main()
{
    ios;
    cin>>s.m>>s.n>>s.num;
    for (int i=0;i>a>>b>>c;
        s.k.push_back({{a,b},c});
    }
    p.m=s.n;
    p.n=s.m;
    p.num=s.num;
    int cnt=0;
    for (int j=0;j

你可能感兴趣的:(算法)