https://www.acmicpc.net/problem/18100
18100번: Думский регламент
Выведите <<Yes>>, если существует корректный порядок проведения заседания, который мог привести к такой записи, и <<No>>, если ни при каком коррек
www.acmicpc.net
"마우스 우클릭 + T "가 필요한 순간이다.
문장의 갯수 K가 입력 첫째줄에 나온다.
나머지 K줄에 "Add @"또는 "Vote @"가 나온다.(@는 a - z 중 하나의 알파벳이다. 정당의 이름? 이라고 하는 것 같다.)
하나의 정당이 안건을 추가하면(Add @), @에 대해서만 투표해야한다.(Vote @)
안건이 1개이상 추가되어 있을 때, 다른 안건을 추가할 수 있다.
이 경우 최신의 안건에 대해 투표한 후에 이전의 안건에 투표할 수 있다.
이 규칙을 따르는 경우 "Yes"를, 아닐 경우 "No"를 출력하는 문제다.
#include <iostream>
#define fio cin.tie(0)->sync_with_stdio(0)
using namespace std;
#include <stack>
int main(){
fio;
int N; cin >> N;
stack<char> party;
bool flg = true;
for(int i=0; i < N; i++){
string op; cin >> op;
char member; cin >> member;
if(op == "Add"){
party.push(member);
}else{
if(party.empty()){
flg = false;
//break;
}else{
char top_ = party.top();
party.pop();
if(top_ != member){
flg = false;
//break;
}
}
}
}
if(!party.empty()) flg = false;
if(flg) cout << "Yes";
else cout <<"No";
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 14713 앵무새 (0) | 2021.12.24 |
---|---|
백준 12789 도키도키 간식드리미 (0) | 2021.12.24 |
백준 15815 천재 수학자 성필 (0) | 2021.12.24 |
백준 11899 괄호 끼워넣기 (0) | 2021.12.23 |
백준 3986 좋은 단어 (0) | 2021.12.23 |