Prince and little Princess-1
Time Limit: 1000 MS Memory Limit: 65536 K
Total Submit: 174(103 users) Total Accepted: 108(93 users) Rating: Special Judge: No
Description
Long long ago, 在一个古老的城堡里,有一个可爱的小公主。
有一天,她偷偷跑出城堡玩了。突然下起了大雨,小公主急忙找一个地方躲起来了。但是天慢慢变黑,而雨依然没有停止的趋势,小公主又累又饿。这时候,远方出现了吵闹声,慢慢地吵闹声靠近了小公主。一个声音在饥寒交迫的小公主头顶响起:“你还好麽?”
小公主抬头,看到一个王子骑着白马。
她低声哭泣着说:雨一直没停,我回不了家了。T^T..
王子给了小公主一袋苹果,说,你应该饿了吧。先吃着这个吧,我带你回去你的城堡。
后来,王子走了,然而小公主对王子念念不舍。每当小公主想王子了,就会给看一看那个装着苹果的口袋。
Input
有多组输入样例;
第一行一个正整数N(N <= 50),表示有王子给了小公主N个苹果。每天小公主都会想王子好几次~
然后有n个数,表示n个苹果从袋底到袋顶的重量。
接下来每行有几条命令,保证不会有不合法的命令。命令有6种形式:
① push a,a是一个正整数,表示往口袋里装重量为a的苹果;
② pop,表示把口袋里的第一个苹果拿出来吃;
③ top, 表示看看口袋里的第一个苹果有多重;
④ empty, 表示看一看口袋里还有多少个苹果,如果还有苹果呢就输出”^_^”,要是没有了就输出”T^T”..
⑤ end表示小公主要结束了,不再折磨可怜的口袋了。
Output
对于每个top命令和empty命令,输出正确的答案。
每个答案一行。
Sample Input
5
26 18 3 2 1
push 1
top
pop
top
empty
pop
pop
pop
top
pop
pop
empty
end
Sample Output
1
1
^_^
18
T^T
Author
曾卓敏@Amber
思路
没啥技巧,简单栈应用,题目好可爱少女心爆棚所以还是记下来了【逃走
AC代码
#include<bits/stdc++.h>
using namespace std;
void solve(void)
{
int n;
while(cin>>n)
{
stack<int>p;
for(int i = 0 ; i < n ; i++){
int temp;
cin>>temp;
p.push(temp);
}
string a;
while(cin>>a)
{
if(a=="end") break;
else if(a=="push"){
int t;
cin>>t;
p.push(t);
}
else if(a=="pop"){
p.pop();
}
else if(a=="top"){
cout<<p.top()<<endl;
}
else if(a=="empty"){
if(!p.empty()) cout<<"^_^"<<endl;
else cout<<"T^T"<<endl;
}
}
}
}
int main(void)
{
solve();
return 0;
}