※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 20112번 문제인 사토르 마방진이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/20112
20112번: 사토르 마방진
사토르 마방진에 대해 들어본 적이 있는가? 사토르 마방진은 간단히 말하면 "가로로 읽었을 때와 세로로 읽었을 때 똑같이 읽히는 단어 집합"이다. 예시로는 다음과 같은 것들이 있다. 라팔아 팔
www.acmicpc.net
사토르 마방진(Sator Square)을 소재로 한 문제이다.
어떤 정사각 배열이 사토르 마방진을 이루기 위한 필요충분조건 중 하나가 "r행c열의 원소와 c행r열의 문자가 서로 같다"임을 관찰해 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int N;
string board[100];
bool chk = 1;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for (int r = 0; r < N; r++) cin >> board[r];
for (int r = 0; r < N; r++) {
for (int c = r + 1; c < N; c++) {
if (board[r][c] != board[c][r]) chk = 0;
}
}
if (chk) cout << "YES";
else cout << "NO";
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 26711 // C++] A+B (0) | 2022.12.23 |
---|---|
[BOJ 26516 // C++] Mutint (0) | 2022.12.23 |
[BOJ 17828 // C++] 문자열 화폐 (0) | 2022.12.23 |
[BOJ 26565 // C++] Time Limits (0) | 2022.12.23 |
[BOJ 26544 // C++] Histogram Fencing (0) | 2022.12.23 |