• 数据结构实验之队列一:排队买饭


                                                                                   数据结构实验之队列一:排队买饭

    Description

    中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口。

    问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同,排在前面的人买完饭就走了,有些人挑完饭就排在后面等待付款,还有一些人比较聪明,看到另一个队人比较少,直接离开这个队到另一个队去了。我要问的是队的总人数和某个位置上人的编号。



    Input

    首先输入一个整数m(m<10000),代表当前有m个人,第二行输入m个数,代表每个人的编号,第三行输入一个整数n(n<10000),代表队列变动和询问一共n次,以后n行,JOIN X表示编号为X(保证与以前的编号不同)的人加入;LEAVE Y表示第Y(Y小于当前队列长度)个位置上的人离队;ASK Z(Z小于当前队列长度)表示询问第Z个位置上的人的编号;FINISH  D表示有D个人买完饭离开了;LENGTH表示询问队列的长度。保证所有数据在int 范围内.

    Output

    对每个询问输出相应的答案,每个答案占一行。

    Sample Input

    3
    1 2 3
    6
    JOIN 4
    ASK 2
    LEAVE 2
    LENGTH
    FINISH 2
    LENGTH
    

    Sample Output

    2
    3
    1
    

    #include<stdio.h>
    #include<string.h>
    int a[20000];
    int main(){
        int m, n, i;
        scanf("%d", &m);
        for(i=0; i<m; i++)
            scanf("%d", &a[i]);
        scanf("%d", &n);
        while(n--) {
            char str[9];
            scanf("%s", str);
            if(!strcmp(str, "JOIN"))  scanf("%d", &a[m++]);
            else if(!strcmp(str, "ASK")){
                int x;
                scanf("%d", &x);
                printf("%d
    ", a[x-1]);
            }
            else if(!strcmp(str, "LENGTH"))
                printf("%d
    ", m);
            else if(!strcmp(str, "FINISH")) {
                int x;
                scanf("%d", &x);
                int q=0;
                for(i=x; i<m; i++)
                    a[q++] = a[i];
                m = q;
            }
            else if(!strcmp(str, "LEAVE")) {
                int x;
                scanf("%d", &x);
                int p=x-1;
                for(i=x; i<m; i++)
                    a[p++] = a[i];
                m--;
            }
        }
    return 0;
    }
    



  • 相关阅读:
    swoole 安装方法 使用即时聊天
    git的介绍以及简单应用
    curl的应用
    linux下监听和同步代码配置
    mac skim 修改背景色
    php 编译安装的一个 configure 配置
    mac mysql error You must reset your password using ALTER USER statement before executing this statement.
    yii2 控制器里 action 大小写组合造成的路由问题
    warning : json_decode(): option JSON_BIGINT_AS_STRING not implemented in xxx
    redis 自启动脚本
  • 原文地址:https://www.cnblogs.com/Genesis2018/p/9079904.html
Copyright © 2020-2023  润新知