'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