TT JSJ 2023-11-30 22:37 采纳率: 42.9%
浏览 5
已结题

图书借阅问题(栈和队列)

图书借阅问题
问题如下图:为什么ac不了啊,尝试了很多测试用例,都是正确的,但是ac不过

img

#include <queue>
#include <stack>
#include<iostream>
using namespace std;
int main()
{
    stack<int> s;
    queue<int> q;
    int n, m, r;
    int queue[31], b[31], c[31];
    scanf_s("%d %d", &n, &m);
    //cin >> n >> m;
    while (m--)
    {
        for (int i = 0; i < n; i++)
        {
            scanf_s("%d", &queue[i]);
            //cin >> queue[i];
            q.push(queue[i]);
        }
        scanf_s("%d", &r);
        //cin >> r;
        for (int j = 0; j < r; j++)
        {
            scanf_s("%d", &b[j]);
            //cin >> b[j];
        }
        int bj = 0;
        for (int k = 1; k <= n; k++)
        {
            s.push(k);
            while (!s.empty() && s.top() == q.front())
            {
                s.pop();
                q.pop();
            }
            if (s.empty())
            {
                c[bj] = k + 1;
                bj++;
            }
        }
        int flag = 1;
        if (r != bj - 1)
        {
            flag = 0;
        }
        else if (s.empty())
        {
            for (int l = 0; l < r; l++)
            {
                if (b[l] != c[l])
                {
                    flag = 0;
                    break;
                }
            }
        }
        if (flag == 1)
        {
            cout << "Yes" << endl;
        }
        else
        {
            cout << "No" << endl;
        }
    }
}

  • 写回答

3条回答 默认 最新

  • TT JSJ 2023-11-30 23:40
    关注

    img


    已解决,加了清空栈和队列语句就对了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 11月30日

悬赏问题

  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么