※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts