本文主要是介绍Codeforces Round #546 (Div. 2)C. Nastya Is Transposing Matrices(思维),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:http://codeforces.com/contest/1136/problem/C
题意:给你A,B两个矩阵,如果A矩阵通过行列变换可以转化成B矩阵就输出YES,否则输出NO。
思路:通过观察可以发现,如果A矩阵可以转化成B矩阵,那么A矩阵所有的副对角线排序后一定和B矩阵的副对角线相等。
#include <bits/stdc++.h>
using namespace std;
#define IOS ios_base::sync_with_stdio(0);cin.tie(0);
const int N = 501;
int n, m, x, f;
multiset <int> sa[N+N],sb[N+N];
int main()
{IOS; cin >> n >> m;for(int i = 0; i < n; i++)for(int j = 0; j < m; j++)cin >> x, sa[i+j].insert(x);for(int i = 0; i < n; i++)for(int j = 0; j < m; j++)cin >> x, sb[i+j].insert(x);for(int i = 0; i < n + m; i++)f |= sa[i] != sb[i];cout << (f ? "NO" : "YES") << endl;
}
这篇关于Codeforces Round #546 (Div. 2)C. Nastya Is Transposing Matrices(思维)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!