【杭电】[1702]ACboy needs your help again!

来源:互联网 发布:淘宝原单好店推荐豆瓣 编辑:程序博客网 时间:2024/04/29 21:52

这里写图片描述
这里写图片描述
这里写图片描述

题目给出两种形式
FIFO先进先出
FILO先进后出
分别对应队列和栈
(队列先进先出,栈先进后出)

所以直接模拟就好了
特别注意的就是对于两种结构
各个命令的记忆需要准确

#include<stdio.h>#include<string.h>#include<stack>#include<queue>using namespace std;stack<int>a;queue<int>q;int main() {    int T;    scanf("%d",&T);    while(T--) {        int n;        char s[10];        scanf("%d %s",&n,s);        if(strcmp(s,"FIFO")==0) {            while(n--) {                char st[10];                scanf("%s",st);                if(strcmp(st,"IN")==0) {                    int t;                    scanf("%d",&t);                    q.push(t);                } else {                    if(q.empty())                        printf("None\n");                    else {                        printf("%d\n",q.front());                        q.pop();                    }                }            }        } else {            while(n--) {                char st[10];                scanf("%s",st);                if(strcmp(st,"IN")==0) {                    int t;                    scanf("%d",&t);                    a.push(t);                } else {                    if(a.empty())                        printf("None\n");                    else {                        printf("%d\n",a.top());                        a.pop();                    }                }            }        }        while(!a.empty())            a.pop();        while(!q.empty())            q.pop();    }    return 0;}

题目地址:【杭电】[1702]ACboy needs your help again!

0 0
原创粉丝点击