Giả sử chúng ta có một ma trận 3 x 3 với 'X' và '.'. Chúng ta phải kiểm tra xem mẫu có đối xứng tâm hay không. (Tìm hiểu thêm về đối xứng tâm - http://en.wikipedia.org/wiki/Central_symmetry)
Vì vậy, nếu đầu vào giống như
| X | X | . |
| . | . | . |
| . | X | X |
thì đầu ra sẽ là True.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
if M[0, 0] is same as M[2, 2] and M[0, 1] is same as M[2, 1] and M[0, 2] is same as M[2, 0] and M[1, 0] is same as M[1, 2], then: return true Otherwise return false
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<char>> M){
if (M[0][0] == M[2][2] && M[0][1] == M[2][1] && M[0][2] == M[2][0] && M[1][0] == M[1][2])
return true;
else
return false;
}
int main(){
vector<vector<char>> matrix = { { 'X', 'X', '.' }, { '.', '.', '.' }, { '.', 'X', 'X' } };
cout << solve(matrix) << endl;
} Đầu vào
{ { 'X', 'X', '.' }, { '.', '.', '.' }, { '.', 'X', 'X' } } Đầu ra
1