天天看点

数据结构实验第四题

#include<stdlib.h>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

const int maxsize = 401;

struct Triple{
    int row,col,value;
    bool operator< (const Triple &x)const{
        if(row == x.row){
            return col < x.col;
        }
        return row < x.row;
    }
};

struct TSMatrix{
    Triple data[maxsize];
    int m,n,len;
};

int main()
{
    //freopen("in1.txt","r",stdin);
    TSMatrix A;
    int m,n;
    cin>>m>>n;
    int t1,t2;
    int r,c,v;
    cin>>t1>>t2;
    int i = 0,k;
    while(t1--){
        cin>>r>>c>>v;
        A.data[i].row = r;
        A.data[i].col = c;
        A.data[i].value = v;
        ++i;
    }
    while(t2--){
        cin>>r>>c>>v;
        for(k = 0;k<i;k++){
            if(A.data[k].row == r&&A.data[k].col==c){
                A.data[k].value+=v;
                break;
            }
        }
        if(k==i){
            A.data[i].row = r;
            A.data[i].col = c;
            A.data[i].value = v;
            ++i;
        }
    }
    A.len = i;
    sort(A.data,A.data+i);
    for(i = 0;i<A.len;i++){
        cout<<A.data[i].row<<" "<<A.data[i].col<<" "<<A.data[i].value<<endl;
    }
    return 0;
}