Rails
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 25964   Accepted: 10199

Description

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, it turned out that the station could be only a dead-end one (see picture) and due to lack of available space it could have only one track.


The local tradition is that every train arriving from the direction A
continues in the direction B with coaches reorganized in some way.
Assume that the train arriving from the direction A has N <= 1000
coaches numbered in increasing order 1, 2, ..., N. The chief for train
reorganizations must know whether it is possible to marshal coaches
continuing in the direction B so that their order will be a1, a2, ...,
aN. Help him and write a program that decides whether it is possible to
get the required order of coaches. You can assume that single coaches
can be disconnected from the train before they enter the station and
that they can move themselves until they are on the track in the
direction B. You can also suppose that at any time there can be located
as many coaches as necessary in the station. But once a coach has
entered the station it cannot return to the track in the direction A and
also once it has left the station in the direction B it cannot return
back to the station.

Input

The
input consists of blocks of lines. Each block except the last describes
one train and possibly more requirements for its reorganization. In the
first line of the block there is the integer N described above. In each
of the next lines of the block there is a permutation of 1, 2, ..., N.
The last line of the block contains just 0.

The last block consists of just one line containing 0.

Output

The
output contains the lines corresponding to the lines with permutations
in the input. A line of the output contains Yes if it is possible to
marshal the coaches in the order required on the corresponding line of
the input. Otherwise it contains No. In addition, there is one empty
line after the lines corresponding to one block of the input. There is
no line in the output corresponding to the last ``null'' block of the
input.

Sample Input

5
1 2 3 4 5
5 4 1 2 3
0
6
6 5 4 3 2 1
0
0

Sample Output

Yes
No Yes

代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <algorithm>
#include <stack> using namespace std; int main()
{
int n;
int i, j;
int a[1010];
stack<int>q; while(scanf("%d", &n) && n!=0 )
{
while(scanf("%d", &a[0]) && a[0]!=0 )
{
for(i=1; i<n; i++)
{
scanf("%d", &a[i] );
}
int A=1, B=0;
int flag=1;
while(!q.empty())
{
q.pop();
}
while( B<n )
{
if(A==a[B])
{
A++; B++;
}
else if(!q.empty() && q.top()==a[B] )
{
q.pop(); B++;
}
else if(A<=n)
q.push(A++);
else
{
flag=0; break;
}
}
printf("%s\n", flag==1?"Yes":"No" );
}
printf("\n");
}
return 0;
}

最新文章

  1. 【解决】若要使用报表生成器,必须在此计算机上安装 .Net Framework 3.5
  2. 使用ssh连接远程主机
  3. 关于.net 中Clipboard.GetDataObject() 之后读出数据读出的数据都是相同的解决方法
  4. WCF学习日记
  5. PHP-关于$_SERVER
  6. python之selenium
  7. VK Cup 2012 Qualification Round 2 C. String Manipulation 1.0 字符串模拟
  8. js的基本概念详解
  9. 丢沙包游戏(或杀人游戏)的C语言实现
  10. java web 学习(1)
  11. hdu1016Prime Ring Problem
  12. UVA 10313(完全背包变形)
  13. 开源项目管理系统:ProjectForge
  14. C# 操作SQL Server 公共库
  15. Pandas.Series.dt.dayofweek相关命令
  16. macaca使用中问题解决方法整理
  17. jquery 語法
  18. Spark机器学习(5):SVM算法
  19. Spring Boot 源码分析 数据源 + Mybatis 配置
  20. [C语言] 数据结构-预备知识指针

热门文章

  1. 洛谷——P1294 高手去散步
  2. Software Engineering | UML
  3. eclipse 添加 maven 小结
  4. Android中Drawable知识总结
  5. IntelliJ IDEA中Spring Boot项目使用spring-boot-devtools无法实现热部署/热更新的问题解决
  6. Android 中状态栏、标题栏、View的大小及区分
  7. JavaScript 推断浏览器类型及32位64位
  8. [Algorithm] Breadth First JavaScript Search Algorithm for Graphs
  9. PS 基础知识 .pat文件如何使用
  10. Cookie学习笔记二:Cookie实例