连接:Print Check
题意:n行m列的矩阵,有k次涂色,每一涂一行或者一列,求最后的涂色结果。
从数据的大小看,暴力肯定要TLE;
问题是如何存储数据。
首先:我们只要最后的涂色结果。
其次:没有必要用for每个数据涂一遍。
所以如果能一次直接涂一行就可以了;
#include <iostream>
#include <cstdio>
uising namespace std;
#define N 5005
const int M = 1e9 +;
typedef long long LL;
int row[N],col[N];
int rt[N],ct[N];
int main(){
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,m,k,x,a,rc;
cin>>n>>m>>k;
for(int i = ; i <= k; i++){
scanf("%d%d%d",&rc,&x,&a);
if(rc == ){
row[x] = a;rt[x] = i;
}
else {
col[x] = a;ct[x] = i;
}
}
for(int i = ;i <= n; i++){
for(int j = ;j <= m;j++){
printf("%d ",rt[i] < ct[j]?col[j]:row[i]);
}
printf("\n");
}
return ;
}