Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long
- using namespace std;
- const int N = 6e5 + 10;
- int r[N];
- int c[N];
- map<pair<int,int>,int> cnt1,cnt2;
- set<pair<int,int>> s1,s3;
- int main(){
- int t;
- cin>>t;
- while(t--){
- cnt1.clear();
- cnt2.clear();
- set<pair<int,int>> s1,s2;
- int n,m;
- cin>>n>>m;
- for (int i=1;i<=n;i++){
- for (int j=1;j<=m;j++){
- int a;
- cin>>a;
- r[a] = i;
- c[a] = j;
- }
- }
- for (int i=1;i<=n;i++){
- for (int j=1;j<=m;j++){
- int a;
- cin>>a;
- if (r[a] != i)
- cnt1[{r[a],i}]++;
- if (c[a] != j)
- cnt2[{c[a],j}]++;
- }
- }
- bool ans = 1;
- for (auto [i,j] : cnt2)
- ans &= (j == n);
- for (auto [i,j] : cnt1)
- ans &= (j == m);
- if (ans)
- cout<<"YES\n";
- else
- cout<<"NO\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment