Uva514】的更多相关文章

UVa514 Rails(铁轨) 题目:铁轨 题目链接: UVa514链接 题目描述: 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站.例如,出栈顺序(5 4 1 2 3)是不可能的,但是(5 4 3 2 1)是可能的. 题目分析: 为了重组车厢,借助中转站,对于每个车厢,一旦从A移入C就不能回到A了,一旦从C移入B,就不能回到C了,意思就是A->C和C->B.而且在中转站C中,车厢符合后进先出的…
https://vjudge.net/problem/UVA-514 #include <bits/stdc++.h> using namespace std; ; int target[MAXN]; int main() { int n,f; while(scanf("%d",&n)&&n) { ){ f=; stack<int>s; ,B=; ;i<=n;i++) { cin>>target[i]; ]==) { c…
题目链接:https://www.luogu.org/problemnew/show/UVA514 分析: 入站序列是1-n,入站后判断如果等于出站序列的当前值,则直接出站.否则就在栈里待着不动.模拟即可,可以选择使用STL栈或手写. 代码: #include<cstdio> #include <cstring> #include<stack> using namespace std; int a[1005],n,cnt,bh,pd; int main() { whil…
//#define LOCAL #include<cstdio> #include<cstring> #include<cstdlib> #include<stack> using namespace std; ; stack<int>train; int ss[maxn]; int main() { #ifdef LOCAL freopen("test.in","r",stdin); #endif int…
PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只能建立起一条路面铁轨.而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走.具体看下图.   当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组.假设火车将要到达A方向,拥有N个车厢(N<=1000),这些车厢按照递增顺序标记为1到N.负责从组车厢的领导,必须知道是否能从组车厢让它驶出B,而这个重组的序列就是a1\a2\…
 铁轨 PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只能建立起一条路面铁轨.而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走.具体看下图. 当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组.假设火车将要到达A方向,拥有N个车厢(N<=1000),这些车厢按照递增顺序标记为1到N.负责从组车厢的领导,必须知道是否能从组车厢让它驶出B,而这个重组的序列就是a1\a…
  Rails  There is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover,…
题意:一列有n节车厢的火车按顺序进站,给你一个出站顺序,问你该火车的车厢能否以该顺序出站? 分析:出站的车厢满足后进先出的关系,所以我们考虑采用栈s 假设车厢一共有n节,n = 5: 进站顺序A:1 2 3 4 5 出站顺序B/target: 2 3 4 5 1 如果进站的车厢没有立马出站,则将该车厢入栈s.push(A++) 判断栈里面车厢的顺序是否和出站顺序一致 s.top()==  target[B] #include<cstdio> #include<stack> usin…
题目大意:给定 N 个数,编号从 1 到 N,现需要判断,利用一个无限大的栈结构,能否实现到给定序列的转换. 题解:本题一共涉及三个部分的交互,分别是目标序列,栈和初始序列,由栈的顶端进入,顶端弹出性质可知,问题转化成目标序列的当前元素,栈顶元素和初始序列的当前元素之间可能情况的讨论. 代码如下 #include <bits/stdc++.h> using namespace std; const int maxn=1e4+10; int n,stk[maxn],top,a[maxn]; vo…
某城市有一个火车站,铁轨铺设如图6-1所示.有n节车厢从A方向驶入车站,按进站顺序编号为1~n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨,并驶出车站.例如,出栈顺序(5 4 1 2 3)是不可能的,但(5 4 3 2 1)是可能的. 为了重组车厢,你可以借助中转站C.这是一个可以停放任意多节车厢的车站,一旦从A移入C,就不能再回到A了,一旦从C移入B,就不能再回到C了.换句话说,在任意时刻,只有两种选择,A->C和C->B. 分析:在中转站C中,车厢符合后进先出的原则,因此…
在一个叫「堆叠市」的城市中有一个有名的火车站.由于地形限制以及经费的关系,火车站及唯一的铁路的样子如下图: 现在火车从A方向来,预定从B方向离开.火车共有N节车厢(N <=1000),并且各车厢依次以1到N来编号.你可以假设各车厢在进站之前可以单独与其他车厢分离,也可以单独离开车站到往B方向的铁轨上.你也可以假设在任何时间火车站都可以容纳所有的车厢.但是一旦一节车厢进站后,就不能再回到A方向的铁轨上了,并且一旦离开车站往B方向后,也不能再回到车站. 现在你的任务是写一个程序,判断火车能否以一特定…
题目:铁轨 题目链接:UVa514链接 题目描述: 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站.例如,出栈顺序(5 4 1 2 3)是不可能的,但是(5 4 3 2 1)是可能的. 题目分析: 为了重组车厢,借助中转站,对于每个车厢,一旦从A移入C就不能回到A了,一旦从C移入B,就不能回到C了,意思就是A->C和C->B.而且在中转站C中,车厢符合后进先出的原则.故这里可以看做为一个栈. 题目…
/* https://vjudge.net/problem/UVA-514 */ #include "pch.h" #include<iostream> #include<cstdio> #include<stack> using namespace std; + ; int n, target[MAXN]; int main() { ) // 输入,一共n辆火车 { ; // 是否是同一次测试 ) // 程序应当结束 break; while (i…
题目链接: https://cn.vjudge.net/problem/UVA-514 /* 问题 输入猜测出栈顺序,如果可能输出Yes,否则输出No 解题思路 貌似没有直接可以判定的方法,紫书上给出的方法是在进行一个入栈出栈操作,看是否能够构成原始的入栈序列. */ #include<cstdio> #include<stack> using namespace std; int ok(int a[],int n); int main() { freopen("E:\\…
2018的寒假去了SD的冬令营,因为一班二班难度悬殊,对我很不友好,几乎什么也没学会,但是我把两个班的课件都存了下来,现在慢慢把两个班的例题以及课后题都补一补(毕竟冬令营的钱不能白花). 这些题目横跨各大知名题库以及一大批外国题库,以至于我注册了一批新账号...... 基础班Day1: 这一天的课事实上我并没有去听,而是去二班考试并愉快的爆零了,幸好不大难,自己看也能学会. Day1主要讲了队列,栈,堆,(加权)并查集.还提出了“因为数组也是数据结构,所以一切题目都是数据结构题”的精彩言论. U…
题目链接:https://vjudge.net/problem/UVA-514 题目大意:右边的火车经过中间的收费站到左边,右边火车进站的秩序是1~n   判断是否能以题中是所给的次序通过 思路:很明显的先进后出  显然是栈 ,这是第一道栈的题目,算是入了个门吧 ,会了栈就很简单了,不细讲,看代码: #include<iostream> #include<stack> using namespace std; +; int target[maxn]; int main() { in…
题目链接:https://vjudge.net/problem/UVA-514 题目大意: 有A,B,C三个火车停靠点,火车最初停在A站,给你一个序列,问你能不能通过中转站C到达B站,火车从A站进入到C站以后不能再返回A站,从C站出到B站以后不能再进入C站. 分析: 把中转站C站看作一个栈. 暑假集训的时候对栈的理解不够深刻,没有充分理解这个题目的意思,现在重写! 要判断是否能够实现,最主要的是判断条件(下面代码中红色加粗代码),想要成立就要保证要出栈数据在栈中的位置必须在栈顶,用5 4 1 2…