백준

백준[c++] [BOJ] 백준 23253 / 자료구조는 정말 최고야

lotus05f 2024. 9. 30. 23:56

 

스트릭에 물붓는 중

 

문제 링크

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

 

어제에 이어서 또드혹 문제

문제만 읽으면 그냥 스택문제 같고 그냥 스택으로 풀고싶은데 애드혹이니까 그게 아니겠죠....

 

그럼 1402 처럼 yes만 출력하면 되나? 는 또 예제 문제에 no 가 있어서 그것도 아니고 

 

그럼 1이 2나 3이랑 붙어있지 않은 경우에만 no를 때리면 될까? 했는데 1이 2나 3이랑 붙어 있는 경우에도 뒤에 이상하게 쌓여있으면 그것도 no니까 아니고...

 

하다가 그나마 생각난게 더미 하나만 내림차순으로 정렬 되어있는지 확인하면 될것같았습니다 

띄어쓰기는 몰라서 안하는게 아니라 귀찮아서 안하는거에요 이제글씨도정감있게붙어쓰면글씨쓰기도편하고글자끼리사이도좋은것같고

 

암튼 더미가 지그재그로 놓여져서 다 순서대로 정리할 수 있는 상태라고 해도 어쨌든 위에 있는 책이 아래에 있는 책 보다는 숫자가 작아야 정리를 할 수 있잖아요? 

 

그래서 그냥 그렇게 풀어봤습니다. 이거 제출하고 사람들이 어떻게 풀었는지 보는게 기대가 됩니다. 사실 상단에 있는 것들은 싸패들이 메모리 시간 줄일라고 막 이상한거 넣어놔서 뭐야이거? 소리가 나오기는 하는데 그래도 빠르게 푸는게 어떤건지는 궁금하니까 

 

내림차순 정렬 확인하는 걸로 풀었습니다 맞았네요 

 

코드 


#include <iostream>
using namespace std;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m;
    cin >> n >> m;  
    for (int i = 0; i < m; ++i) {
        int k;  
        cin >> k;
        int prev;
        cin >> prev;
        bool DesCheck = true;  
        for (int j = 1; j < k; j++) {
            int current;
            cin >> current;      
            if (current > prev) {
                DesCheck = false;
            }
            prev = current;
        }
        if (!DesCheck) {
            cout << "No\n";
            return 0;
        }
    }
    cout << "Yes\n";
    return 0;
}

 

그럼 과연 싸패들은 어떻게 풀었는지 구경을 해보면? 

별 다를건 없네요 그냥 내림차순으로 정렬한걸 확인하는게 맞는 방법이었나 봅니다. 

까비 

 

근데 왜 이게 에드혹 문제 일까요 그냥 스택을 안 쓴것만으로도 에드혹으로 해주는거임?백준도?