题解:UVA13055 Inception
Chenxuhang_play · · 题解
思路
栈的模板题。
题目中给出三种操作。
-
Sleep X。这表示多姆要进入
X 的梦。对应的操作是直接压入栈。 -
Kick。这表示多姆会返回上一层梦境。对应的操作是弹出栈顶元素。
-
Test。这表示你需要输出多姆当前正在的梦境的主人的名字。对应的操作是输出栈顶元素。注意这里不需要弹出栈顶元素。
按照思路模拟即可。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
stack <string> s;
string a;
while(n--)
{
cin>>a;
if(a=="Sleep")
{
cin>>a;
s.push(a);
}
else if(a=="Kick")
{
if(!s.empty()) s.pop();
}
else if(a=="Test")
{
if(!s.empty()) cout<<s.top<<endl;
else cout<<"Not in a dream\n";
}
}
return 0;
}