专栏文章
题解:P14325 [JOI2022 预选赛 R2] 图书馆 2 / Library 2
P14325题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minh3w77
- 此快照首次捕获于
- 2025/12/02 02:19 3 个月前
- 此快照最后确认于
- 2025/12/02 02:19 3 个月前
P14325 题解
题目传送门 P14325
前置芝士
栈
可简单理解为 后进先出,即 新状态优先
使用方法
STL中有这么一个头文件——
CPP#include <stack>
那么要怎么用呢?
CPP//以string类型为例
stack<string> stk;
//入栈操作
stk.push("Luogu");
//获取栈顶元素
stk.top();
//栈顶元素爪巴
stk.pop();
没了:)
题意理解
有次由字符串表示的两种操作
- 若全为小写字母,则将其堆叠在最上方
- 若为READ,则阅读位于最上方的书并归还
思路分析
既然是最上方,那么我们可以维护一个栈,则两种操作可转化为
- 全为小写字母时入栈
- 为READ时输出栈顶元素并出栈
思路有了,上代码:)
CPP
#include <iostream>
#include <stack>
using namespace std;
int q;//操作数量
stack<string> stk;//核心:栈
int main(){
cin >> q;
while(q--){
string s;
cin >> s;
//若不为READ 则入栈
//若为READ 则输出栈顶并出栈
if(s!="READ") stk.push(s);
else cout << stk.top() << endl,stk.pop();
}
return 0;
}
一道欢乐的栈水题~
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...