Bài toán: Ma trận 3x3 chứa 'X' và '.'. Kiểm tra đối xứng tâm (central symmetry): xoay 180° giống hệt.
Điều kiện: M[0][0]==M[2][2], M[0][1]==M[2][1], M[0][2]==M[2][0], M[1][0]==M[1][2]. Ô giữa M[1][1] luôn đối xứng với chính nó.
Code C++
#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<char>> M) {
return M[0][0] == M[2][2] &&
M[0][1] == M[2][1] &&
M[0][2] == M[2][0] &&
M[1][0] == M[1][2];
}
int main() {
vector<vector<char>> M = {{'X','X','.'}, {'.','.','.'}, {'.','X','X'}};
cout << solve(M) << endl; // 1 (true)
return 0;
}
Kết quả
1