HDU 1022(关于栈的详细解法)
时间:2022-07-24
本文章向大家介绍HDU 1022(关于栈的详细解法),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:就是火车进站问题,实际就是栈的模板
思路:那么我们用栈来解决这个问题,无非是入栈,出栈。那么我们先压入出栈序列的第一个元素,然后我们就需要要进行判断了。如果栈中元素等于预想出栈序列的头元素,那么就弹出栈中当前元素,(这个还需要记录出栈还是入栈,因为最后要打印,所以我们首先开一个布尔数组1代表入栈,0代表出栈),记录出栈,不相等那么就继续从入栈序列中继续压入元素,记录入栈。 后面的就是控制输出跟清栈了。
#include<bits/stdc++.h>
using namespace std;
stack<char> st;
bool flag[105];//1表示进 , 0表示出
int main(){
int n;
int i,j;
string s1,s2;
while(cin>>n>>s1>>s2){
int k = 0;
i=0,j=0;
st.push(s1[0]);
flag[k++] = 1;
while(i<n && j<n){
if(!st.empty() && st.top() == s2[j]){
j++;
st.pop();
flag[k++] = 0;
}
else{
st.push(s1[++i]);
flag[k++] = 1;
}
}
if(j!=n) cout<<"No."<<endl;
else{
cout<<"Yes."<<endl;
for(i=0;i<k;i++)
if(flag[i]) cout<<"in"<<endl;
else cout<<"out"<<endl;
}
cout<<"FINISH"<<endl;
}
while(!st.empty()){
st.pop();
}
return 0;
}
- JAVAScript柯里化、部分应用参数终极理解
- 翻转句子中单词的顺序
- 即将举行的全球区块链峰会强调东西方合作
- 区块链兄弟社区问答精选:关于51%攻击,你了解有多少?
- 编程小技巧
- use vue vuex vue-router, not use webpack
- 从尾到头打印链表
- Webpack+Vue如何导入Jquery和Jquery的第三方插件
- [Hadoop大数据]——Hive部署入门教程
- Vuex原来可以这样上手
- 《Hive编程指南》—— 读后总结
- Event(事件)的传播与冒泡
- [Hadoop大数据]——Hive数据的导入导出
- 区块链技术在电子游戏与博彩行业备受追捧 有望实现数字商品货币化
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分 隔。
- 树莓派基础实验11:U型光电传感器实验
- java 缓冲流+原理图解
- 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要 求字符串中的中文不能出现乱码
- Java 编程,打印昨天的当前时刻.
- git merge后 丢失文件 以及 代码
- 树莓派基础实验12:PCF8591模数转换器实验
- spring boot多数据源的代码实现
- 树莓派基础实验13:雨滴探测传感器实验
- Java中的TCP通信程序
- Java实现一个简单的文件上传案例
- 树莓派基础实验14:PS2操纵杆实验
- Java反射
- Java Request(域对象+请求转发+原理)详解
- PHP命令执行学习总结