NC22595. Rinne Loves Study
描述
输入描述
第一行三个整数 n,m,T。
接下来 T 行,第 i+1 行描述第 i 天干了什么,每行的格式如下:
`1 x`:说明她在这一天背了第 x 行的单词;
`2 y`说明她在这一天背了第 y 列的单词。
输入的所有量的具体意义请参考「题目描述」。
输出描述
输出一个 的矩阵 a, 表示第 i 行第 j 列这个单词最后一次被背诵是在第几天。
示例1
输入:
3 3 3 1 2 2 3 1 3
输出:
0 0 2 1 1 2 3 3 3
pypy3(pypy3.6.1) 解法, 执行用时: 444ms, 内存消耗: 27352K, 提交时间: 2020-08-06 20:52:41
n,m,t=map(int,input().split()) f1=[0 for i in range(n)] f2=[0 for i in range(m)] for i in range(t): op,x=map(int,input().split()) x-=1 if op==1: f1[x]=i+1 else: f2[x]=i+1 for i in range(n): for j in range(m): print(max(f1[i],f2[j]),end=" \n"[j==m-1])
Python3(3.5.2) 解法, 执行用时: 385ms, 内存消耗: 6720K, 提交时间: 2020-08-06 18:27:43
n, m, T = map(int, input().split()) asd=[0]*n shuk=[0]*m for i in range(1,T+1): a,b=map(int,input().split()) if a==1: asd[b-1]=i else: shuk[b-1]=i for i in range(n): for j in range(m): print("{:d}".format(max(asd[i],shuk[j])),end=" ") print()
C++11(clang++ 3.9) 解法, 执行用时: 83ms, 内存消耗: 1292K, 提交时间: 2019-12-31 21:01:34
#include<bits/stdc++.h> using namespace std; int a[100000],b[100000]; int main(){ int n,m,t,x,y,i,j; cin>>n>>m>>t; for(i=1;i<=t;i++){ cin>>x>>y; if(x==1) a[y-1]=i; else b[y-1]=i; } for(i=0;i<n;i++){ for(j=0;j<m;j++) cout<<max(a[i],b[j])<<" "; cout<<endl; } }
C++14(g++5.4) 解法, 执行用时: 87ms, 内存消耗: 1884K, 提交时间: 2019-08-01 17:31:51
#include<bits/stdc++.h> using namespace std; int a[100000],b[100000]; int main(){ int n,m,t,x,y,i,j; cin>>n>>m>>t; for(i=1;i<=t;i++){ cin>>x>>y; if(x==1) a[y-1]=i; else b[y-1]=i; } for(i=0;i<n;i++){ for(j=0;j<m;j++) cout<<max(a[i],b[j])<<" "; cout<<endl; } }