안녕하세요. 오늘은 마방진인지 확인할 거예요.

문제

https://www.acmicpc.net/problem/20112

아이디어

쉽습니다.
s[i][j]가 s[j][i]이면 됩니다. 범위를 만족하는 모든 i,j에 대해서입니다.

소스코드

#include <iostream>
#include <string>
#define ll long long
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    ll N, i, j;
    string s[111];

    cin >> N;
    for (i = 0; i < N; i++)
        cin >> s[i];

    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
        {
            if (s[i][j] != s[j][i])
            {
                cout << "NO";
                return 0;
            }
        }
    }
    cout << "YES";
}


감사합니다.

0개의 댓글