YTU 3002: 出栈顺序(栈和队列)
3002: 出栈顺序(栈和队列)
时间限制: 1 Sec 内存限制: 128 MB
提交: 80 解决: 20
题目描述
给出一个入栈序列,和一个出栈序列,判断该出栈序列是否正确。
输入
输入包含三行,第一行为序列的长度N,第二行为N个数表示入栈顺序,第三行同样为N个数,表示出栈顺序。我们保证这N个数字不相同。
输出
如果该出栈序列正确,则输出“Yes”,否则输出“No”。
样例输入
5
1 2 3 4 5
5 4 3 2 1
样例输出
Yes
提示
1、入栈过程中可以出栈
2、请使用C++编译并提交
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方…
#include <iostream>
#include <algorithm>
using namespace std;
int n;
typedef struct
{
int data;
int w;
} ab;
ab a[105];
int findd(int t)
{
for(int i=0; i<n; i++)
if(a[i].data==t)return a[i].w;
return 0;
}
bool panduan(int b[105],int l,int t)
{
int min=0xffff;
for(int i=l+1; i<n; i++)
{
int k=findd(b[i]);
if(k<t)min=min>k?k:min;
if(k<t&&k>min)return 1;
}
return 0;
}
int main()
{
cin>>n;
int b[105],i;
for(int i=0; i<n; i++)
{
cin>>a[i].data;
a[i].w=i;
}
for(i=0; i<n; i++)
cin>>b[i];
for(i=0; i<n; i++)
{
int t=findd(b[i]);
if(panduan(b,i,t))break;
}
if(i!=n)cout<<"No"<<endl;
else cout<<"Yes"<<endl;
return 0;
}
YTU 3002: 出栈顺序(栈和队列)的更多相关文章
- 顺序栈,链栈,队列java实现
顺序栈 /** * 顺序栈 * */ public class SqStack { //栈的大小 private int maxSize; //栈顶指针 private int top; privat ...
- C++语言实现顺序栈
C++语言实现顺序栈 在写C语言实现顺序栈的时候,我已经向大家介绍了栈的特点以及介绍了栈的相关操作,并利用C语言实现了相关算法.在这里小编就不在继续给大家介绍了,需要温习的可以去我的博客看看.在这篇博 ...
- YTU 3003: 括号匹配(栈和队列)
3003: 括号匹配(栈和队列) 时间限制: 1 Sec 内存限制: 128 MB 提交: 2 解决: 2 [提交][状态][讨论版] 题目描述 假设一个表达式中只允许包含三种括号:圆括号&quo ...
- Catalan数与出栈顺序个数,Java编程模拟
问题描述: 队列中有从1到7(由小到大排列)的7个整数,问经过一个整数栈后,出栈的所有排列数有多少?如果整数栈的容量是4(栈最多能容纳4个整数),那么出栈的排列数又是多少? 分析:对于每一个数字i, ...
- n个元素的入栈顺序有多少种出栈顺序?
问题:w1.w2.w3.w4.w5,5个元素将会按顺序入栈,求出栈顺序有多少种情况. 先写一下结论方便记忆: 1个元素:1种 2个元素:2种 3个元素:5种 4个元素:14种 5个元素:42种 简单的 ...
- n个元素进栈,共有多少种出栈顺序?
1.基于栈的问题分析 我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出: f(1) = 1 / ...
- [置顶] 栈/入栈/出栈顺序(c语言)-linux
说明: 1.栈底为高地址,栈顶为低地址. 2.入栈顺序:从右到左. 解释1:栈在内存中的结构 [注:0x00 到 0x04之间间隔4个地址] 入栈:指针先指向0x10,从高地址向低地址方向填数值,最终 ...
- 01顺序栈_Stack---(栈与队列)
#include "stdio.h" #include "stdlib.h" #include "io.h" #include " ...
- N个数依次入栈,出栈顺序有多少种
题目:N个数依次入栈,出栈顺序有多少种? 首先介绍一下卡特兰数:卡特兰数前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 2 ...
随机推荐
- ssh隧道技术
大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...
- Redis 存储原理
- JAVA JDBC连接 SQLServer2012
连接数据库的java测试代码 import java.sql.*; public class ConManager { final static String cfn = "com.micr ...
- how to use automapper in c#, from cf~
[DataContract] public class GroupDto { [DataMember] public int id { get; set; } [DataMember] public ...
- [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...
- 常用的sql函数
常用的sql函数 concat('hello','world') 结果:helloworld 作用:拼接 substr('helloworld',1,5) hello ...
- c++ 中this底层
成员变量设置在一个结构体中, 操作成员变量的成员函数,其实质上就是拥有一个隐藏的 成员变量结构体的地址指针,俗称this指针.
- 事务——sql server中的事务应用举例
sql中事务只针对一个update,delete,insert语句,如果一段程序中有超过一个这样的语句,就需要每个都判断是否出错,否则就会出现若干我们不希望的情形出现,举例如下(表结构见最后): 1, ...
- 反射认识_04_反射调用类方法Method
包1: package ReflectionMethod; public class ReflectionMethod { String str1="str1"; public v ...
- [转]IP动态切换脚本
因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说!WINXP,WIN7测试通过~嘿嘿~ ...