Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

패턴을 확인하는 C++ 코드가 중심 대칭인지 아닌지

<시간/>

'X'와 '.'가 있는 3 x 3 행렬이 있다고 가정합니다. 패턴이 중심대칭인지 아닌지 확인해야 합니다. (중심 대칭에 대한 추가 정보 - https://en.wikipedia.org/wiki/Central_symmetry)


따라서 입력이 다음과 같으면

X X .
. . .
. X X

그러면 출력이 True가 됩니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

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

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#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;
}

입력

{ { 'X', 'X', '.' }, { '.', '.', '.' }, { '.', 'X', 'X' } }

출력

1