标签:statement ice source names contains col sort highlight org
Nastya came to her informatics lesson, and her teacher who is, by the way, a little bit famous here gave her the following task.
Two matrices AA and BB are given, each of them has size n×mn×m . Nastya can perform the following operation to matrix AA unlimited number of times:
Nastya‘s task is to check whether it is possible to transform the matrix AA to the matrix BB .
As it may require a lot of operations, you are asked to answer this question for Nastya.
A square submatrix of matrix MM is a matrix which consist of all elements which comes from one of the rows with indeces x,x+1,…,x+k−1x,x+1,…,x+k−1 of matrix MM and comes from one of the columns with indeces y,y+1,…,y+k−1y,y+1,…,y+k−1 of matrix MM . kk is the size of square submatrix. In other words, square submatrix is the set of elements of source matrix which form a solid square (i.e. without holes).
The first line contains two integers nn and mm separated by space (1≤n,m≤5001≤n,m≤500 ) — the numbers of rows and columns in AA and BB respectively.
Each of the next nn lines contains mm integers, the jj -th number in the ii -th of these lines denotes the jj -th element of the ii -th row of the matrix AA (1≤Aij≤1091≤Aij≤109 ).
Each of the next nn lines contains mm integers, the jj -th number in the ii -th of these lines denotes the jj -th element of the ii -th row of the matrix BB (1≤Bij≤1091≤Bij≤109 ).
Print "YES" (without quotes) if it is possible to transform AA to BB and "NO" (without quotes) otherwise.
You can print each letter in any case (upper or lower).
2 2 1 1 6 1 1 6 1 1
YES
2 2 4 4 4 5 5 4 4 4
NO
3 3 1 2 3 4 5 6 7 8 9 1 4 7 2 5 6 3 8 9
YES
#include <stdio.h> #include <string.h> #include <algorithm> #include <iostream> #define inf 0x3f3f3f3f using namespace std; const int maxn = 550; int a[maxn][maxn]; int b[maxn][maxn]; int ta[maxn*maxn]; int tb[maxn*maxn]; int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) scanf("%d", &a[i][j]); } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { scanf("%d", &b[i][j]); } } for (int i = 1; i <= n + m; i++) { int cnta = 0, cntb = 0; for (int j = 1; j < i; j++) { if (j <= n && i - j <= m && i - j >= 1) { ta[++cnta] = a[j][i - j]; } } for (int j = 1; j < i; j++) { if (j <= n && i - j <= m && i - j >= 1) { tb[++cntb] = b[j][i - j]; } } sort(ta + 1, ta + cnta + 1); sort(tb + 1, tb + 1 + cntb); for (int i = 1; i <= cnta; i++) { if (ta[i] != tb[i]) { printf("NO\n"); return 0; } } } printf("YES\n"); return 0; }
Codeforces Round #546 (Div. 2) C. Nastya Is Transposing Matrices
标签:statement ice source names contains col sort highlight org
原文地址:https://www.cnblogs.com/EchoZQN/p/10518269.html