PTA:gg的超市

该程序使用C++定义了一个结构体node来存储数据,创建了堆栈和队列进行数据操作。通过对输入的天数、进货量、放置量、购买量和GG是否来访的信息处理,模拟商品库存管理。当GG来访且货架上有超过3天前的货物时,GG会发怒并清空货架。
摘要由CSDN通过智能技术生成
#include<bits/stdc++.h>
using namespace std;
//gg的超市 
struct node//创建结构体 ,然后建堆栈,队列 
{
    int data;
};
stack<node>s;//创建堆栈s; 堆栈的元素是  叫node结构体
queue<node>q;//创建数列q; 
int main()
{
    int n;//总天数 
    cin >> n;
    while(n--)
    {
        int x;//第几天 
        cin >> x;
        int a, b, c, d;//进货,放货,买走,gg今天来了没有 
        node p;//创建结构体p 
        p.data = x;//结构体p 保存第几天 
        cin>>a>>b>>c>>d;//读剩下的一行 
        for (int i = 1; i <= a; i++) q.push(p);
        //压入队列第几天进了多少货 
        int t_a2 = b > q.size() ? q.size() : b; //关于进货和放货的问题
        //cout<<"********"<<b<<"**********"<<q.size()<<"*********"<<endl;
        for (int i = 1; i <= t_a2; i++)//实际往货架放了多少货 
        {
                s.push(q.front());//取队列先进去的压入堆栈 
                q.pop();//弹出队列先进去的 
        }
        int t_a3= c > s.size() ? s.size() : c;//关于货架剩余量和购买的问题 
        for (int i = 1; i <= t_a3; i++)    s.pop();
        //弹出后放的货 
        if (d == 1 && !s.empty())//判断gg来了没有,和货架上又没有货 
        {
            int day = x - s.top().data;//计算货架上第一个货是几天前的 
            if (day >= 3)
            {
                cout << x << " Wang!Wang!!Wang!!!\n";//gg发怒 
                while (!s.empty())//把货架清空 
                    s.pop();
            }
        }
    }
    return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值