18248. 제야의 종

aj4941·2023년 9월 9일
0

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

2차원 벡터를 결국 정렬해서 1차원 value를 비교하는 문제인데 이 정렬의 시간복잡도가
(n x m) log (n x m) 임에 유의하자.

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    int n, m; cin >> n >> m;
    vector<vector<int>> v(n);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            int x; cin >> x;
            v[i].push_back(x);
        }
    }

    sort(v.begin(), v.end());

    bool hasAns = true;

    for (int j = 0; j < m; j++)
    {
        for (int i1 = 0; i1 < n; i1++)
        {
            for (int i2 = i1 + 1; i2 < n; i2++)
            {
                if (v[i1][j] > v[i2][j])
                    hasAns = false;
            }
        }
    }

    if (hasAns) cout << "YES";
    else cout << "NO";
}
profile
안녕하세요 aj4941 입니다.

0개의 댓글