Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để kiểm tra mẫu có đối xứng tâm hay không

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