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 - https://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