-
[Algorithm] C++ 기차운행(stack 응용)Programming/Algorithm 2020. 1. 3. 15:11
입력예제 1
3
2 1 3
출력예제 1
PPOOPO
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> #include<algorithm> #include<stack> using namespace std; int main() { stack<int> s; int n, m, i, j = 1; scanf("%d", &n); vector<char> str; // push back으로 for (i = 1; i <= n; i++) { scanf("%d", &m); s.push(m); str.push_back('P'); while (1) { if (s.empty()) break; if (j == s.top()) { s.pop(); j++; str.push_back('O'); } else { break; } } } if (!s.empty()) printf("impossible\n"); else { for (i = 0; i < str.size(); i++) { printf("%c", str[i]); } } return 0; }
'Programming > Algorithm' 카테고리의 다른 글
[Algorithm] C++ 합이 같은 부분집합(DFS) (0) 2020.01.06 [Algorithm] C++ 부분집합(DFS) (0) 2020.01.06 [Algorithm] C++ 올바른 괄호(Stack) (0) 2020.01.02 [Algorithm] C++ Ugly Numbers (투포인트 알고리즘) (0) 2020.01.02 [Algorithm] C++ 영지(territory) 선택 : (small) (0) 2019.12.27