题目名称
题目大意
n*m的格子,给T个操作,(1) ”1 x“ : 将第x行标记为i,(2) “2 y”将第y列标记为i,其中i为第几个操作
问最终每个格子的标记为多少,输出n*m的矩阵的标记
实现思路
第一种操作,就row[x]=i,
第二种操作,就col[y]=i,
输出时,row[x]和col[y]谁最大谁就是该格子最终标记
代码实现
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n,m;
const int maxn=1e5+7;
const int mod=1e9+7;
int row[maxn],col[maxn];
int main()
{
int n,m,t;
scanf("%d%d%d",&n,&m,&t);
for(int i=1;i<=t;i++)
{
int op,x;
cin>>op>>x;
if(op==1) row[x]=i;
else col[x]=i;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<max(row[i],col[j])<<" \n"[j==m];
}
return 0;
}