-
백준 23253번: 자료구조는 정말 최고야문제해결 2023. 11. 28. 16:56
자료구조는 정말 최고야
스텍들 돌아가며 하나씩 팝 하면 되는 간단한 실버5 자료구조 문제인줄 알았다.
제출하고보니 계속 시간초과가 뜨길래 뭔가 이상함을 느꼈다.
생각해보니 200'000개의 책을 하나씩 200'000개의 더미로 놓은 다음,
200'000 199'999 ... 2 1
이런식으로 배치하면 총 20'000'100'000번 순회해야하니 당연히 시간초과가 날 수밖에 없다.
문제를 다시 읽어보니, 스택이 내림차순인지 확인을 하기만 하면 될 듯 하여 다시 제출하고 AC되었다.
#include <bits/stdc++.h> using namespace std; #define endl "\n" #define FOR(i, N) for (int i = 0; i < static_cast<int>(N); i++) #define FORL(e, S) for (auto& e : S) int N, M; vector<vector<int>> vecs; int main() { cin.tie(NULL)->sync_with_stdio(false); cin >> N >> M; FOR(_, M) { int cnt; cin >> cnt; vector<int> v; FOR(__, cnt) { int num; cin >> num; v.push_back(num); } vecs.push_back(v); } FORL(vec, vecs) { if (vec.size() == 1) continue; for (int i = 0; i < vec.size() - 1; i++) { if (vec[i] < vec[i + 1]) { cout << "No" << endl; return 0; } } } cout << "Yes" << endl; return 0; }
'문제해결' 카테고리의 다른 글
백준 1629번: 곱셈 (0) 2023.11.28 백준 11687번: 팩토리얼 0의 개수 (0) 2023.11.28 백준 9251번: LCS, 백준 5582번: 공통 부분 문자열 (2) 2023.11.20 백준 9935번: 문자열 폭발 (0) 2023.11.20 백준 11689번: GCD(n, k) = 1 (1) 2023.11.20