营救嘉然小姐
一、题目
牛子爷的嘉然小姐被私生饭绑架了
牛子爷特别喜欢看嘉然小姐的直播,希望能把嘉然小姐抢回来。
牛子爷杀进了私生饭的窝点,私生饭出了一道难题给牛子爷,如果答不出来,那他们就要把嘉然小姐独占。
问题就在墙上:
每个问题的第一行都有一个整数 N(有N个命令),还有 "FIFO" 或 "FILO".("FIFO"代表 "First In First Out"(先进先出), 并且 "FILO" 代表 "First In Last Out"(先进后出)).
接下来 N 行, 每行都是"IN M" 或者 "OUT M", (M 代表一个整数).
得到的输出答案就是绑嘉然小姐的密码锁的密码。作为一个合格的嘉心糖,牛子爷一定会破出这个密码,继续看嘉然小姐的直播。
Input
包含多组输入
第一行包含一个整数,代表组数
接下来的输入如描述所述
Output
每得到一个 "OUT", 你必须根据 "FIFO" 或 "FILO"的原则,立刻输出一个整数, 或者如果还没有得到任何整数的话就输出 "None"
Sample Input
4 4 FIFO IN 1 IN 2 OUT OUT 4 FILO IN 1 IN 2 OUT OUT 5 FIFO IN 1 IN 2 OUT OUT OUT 5 FILO IN 1 IN 2 OUT IN 3 OUT
Sample Output
1 2 2 1 1 2 None 2 3
二、分析
模拟栈和队列,不同的情况选择使用栈或队列。
#include
#include
#include
#include
using namespace std;
int main()
{int T;cin>>T;stacks2;queues;while(T--){while(!s.empty()) s.pop();while(!s2.empty()) s2.pop();int N;char sign[10];cin>>N>>sign;char ope[5];int num;if(strcmp(sign,"FIFO")==0){for(int i=0;i>ope;if(strcmp(ope,"IN")==0){cin>>num;s.push(num);}else{if(s.size()>0){cout<>ope;if(strcmp(ope,"IN")==0){cin>>num;s2.push(num);}else{if(s2.size()>0){cout<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
