'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