链接:https://ac.nowcoder.com/acm/contest/370/C
来源:牛客网
Rinne 喜欢使用一种奇怪的方法背单词,现在这些单词被放在了一个 n×mn×m 的格子里。由于背单词是一个令人烦躁的事情,所以她决定每天只背同一行或者同一列的单词。她一共会背 T 次单词,为了方便巩固,她现在想知道:对于每个单词,最后一次背是什么时候呢?
她这么可爱当然会算啦!但是她想考考你。
输入描述:
第一行三个整数 n,m,T。 接下来 T 行,第 i+1 行描述第 i 天干了什么,每行的格式如下: `1 x`:说明她在这一天背了第 x 行的单词; `2 y`说明她在这一天背了第 y 列的单词。 输入的所有量的具体意义请参考「题目描述」。
输出描述:
输出一个 n×mn×m 的矩阵 a,ai,jai,j 表示第 i 行第 j 列这个单词最后一次被背诵是在第几天。
示例1
输入
复制
3 3 3 1 2 2 3 1 3
输出
复制
0 0 2 1 1 2 3 3 3
备注:
n×m≤105,T≤105
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#define INF 2147483647
#define N 1005
using namespace std;
int num[10000][10000];
int num1[900000];
int num2[900000];
int main()
{
int n,m,t;
cin>>n>>m>>t;
int f=0;
while(t--)
{
f++;
int x,y;
cin>>x>>y;
if(x==1){
num1[y]=f;
}else{
num2[y]=f;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<max(num1[i],num2[j])<<" ";
}
cout<<endl;
}
}