题目:3732. 矩阵复原
题解:题目很简单,但是数据多。我第一次是超时了的,调试后发现memset(a,0,sizeof a);会耗很多时间,第一次遇见这个会耗时导致超时的,下次做题得注意。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int ,int> PII;
const int N=2e5+10;
const int mod=100000007;
int main(){
int T;
scanf("%d",&T);
while(T--){
int n,m;
scanf("%d%d",&n,&m);
int a[250010];
int b[510][510];
//memset(a,0,sizeof a);//加上这个超时
int t;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&t);
a[t]=j;
}
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
scanf("%d",&t);
b[j][a[t]]=t;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
return 0;
}