题目名称

Rinne Loves Study

题目大意

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;
}