2 条题解
-
0
#include <iostream> #include <queue> using namespace std; int main() { int n; cin >> n; queue<int> q; for (int i = 0; i < n; i++) { int op; cin >> op; if (op == 1) { int x; cin >> x; q.push(x); } else if (op == 2) { if (q.empty()) { cout << "ERR_CANNOT_POP" << endl; } else { q.pop(); } } else if (op == 3) { if (q.empty()) { cout << "ERR_CANNOT_QUERY" << endl; } else { cout << q.front() << endl; } } else if (op == 4) { cout << q.size()<< endl; } } return 0; }
上述代码使用了
queue
标准库来实现队列的操作。首先,我们读入操作次数n
。然后,我们按照给定的操作进行处理。对于操作 1,我们读入要插入的元素x
,并将其压入队列中;对于操作 2,我们检查队列是否为空,若为空则输出错误信息,否则弹出队首元素;对于操作 3,我们同样检查队列是否为空,若为空则输出错误信息,否则输出队首元素;对于操作 4,我们直接输出队列内元素个数。 -
0
顾名思义
模板
。我们只需要模拟操作即可。这里使用的是STL栈。AC Code:
#include<bits/stdc++.h> #define ll long long using namespace std; ll n; queue<ll> q; int main(){ scanf("%lld",&n); for(ll i=1,opt,x;i<=n;i++){ scanf("%lld",&opt); switch(opt){ case 1: scanf("%lld",&x); q.push(x);break; case 2: if(q.empty()) puts("ERR_CANNOT_POP"); else q.pop();break; case 3: if(q.empty()) puts("ERR_CANNOT_QUERY"); else printf("%lld\n",q.front());break; default: printf("%lld\n",q.size()); } } return 0; }
- 1
信息
- ID
- 706
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 129
- 已通过
- 82
- 上传者