#include <bits/stdc++.h>
using
namespace
std;
string findRotation(vector<vector<
int
> >& mat,
vector<vector<
int
> >& T)
{
if
(T.size() != mat.size()
|| T[0].size() != mat[0].size()) {
return
"No"
;
}
map<vector<
int
>,
int
> m;
for
(
int
i = 0; i < mat.size(); i++) {
m[mat[i]] += 1;
reverse(mat[i].begin(), mat[i].end());
m[mat[i]] += 1;
}
for
(
int
i = 0; i < mat[0].size(); i++) {
vector<
int
> r = {};
for
(
int
j = 0; j < mat.size(); j++) {
r.push_back(mat[j][i]);
}
m[r] += 1;
reverse(r.begin(), r.end());
m[r] += 1;
}
for
(
int
i = 0; i < T.size(); i++) {
if
(m[T[i]] <= 0) {
return
"No"
;
}
m[T[i]] -= 1;
}
for
(
int
i = 0; i < T[0].size(); i++) {
vector<
int
> r = {};
for
(
int
j = 0; j < T.size(); j++) {
r.push_back(T[j][i]);
}
if
(m[r] <= 0) {
return
"No"
;
}
m[r] -= 1;
}
return
"Yes"
;
}
int
main()
{
vector<vector<
int
> > mat
= { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
vector<vector<
int
> > T
= { { 3, 6, 9 }, { 2, 5, 8 }, { 1, 4, 7 } };
cout << findRotation(mat, T);
return
0;
}
Original page link
Best Cool Tech Gadgets
Top favorite technology gadgets
0 comments:
Post a Comment