John是个小列车站的站长,每次列车在这里重新编组时他就很烦恼。因为站上只有一个人字形的编组轨道(如图),所有的列车车厢都是从人字轨的左边依次进去,从右边出来。但有一些编组顺序John总编不出来,John怀疑有些编组顺序是不可能完成的,可John又找不出那些是顺序是可以编组出,那些不可以。请你写一个程序帮助John辨别哪些编组可以完成,哪些不能完成。
输入:
第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例,每行为n+1个整数,第一个整数为n 表示有多少节车厢,后面n个整数表示需要编组成的顺序。比如说3节车厢,按照1,2,3依次入轨编组,可以在右边形成1 2 3,1 3 2,2 1 3,2 3 1,321。
输出:
每行输出一个测试用例的结果。如果可以编组输出Yes,否则输出No。
Sample Input
2
3 3 1 2
4 1 2 3 4
Sample Output
No
Yes
//c语言用堆栈实现
#include<stdio.h>
int train[200],stack[200];
int main()
{
int k,i,mem,top,num;
int n;
scanf("%d",&k);
while(k--)
{
scanf("%d",&n);
i = 1;
while(i<=n)
{
scanf("%d",&train[i]);
i++;
}
top=0;
mem=1;
num=1;
stack[0]=-1;
while(mem<n+1)
{
stack[++top]=mem++;
while(stack[top]==train[num])
{
top--;
num++;
}
}
if(top==0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
分享到:
相关推荐
字符串计数 C语言实现 ACM习题
C语言实用算法,ACM题目,学好C语言提高一下。
C语言例题acm
基于ACM竞赛的高校C语言实践教学改进探究
基于ACM-ICPC的C语言程序设计实践教学改革.pdf
ACM竞赛平台在C语言程序设计教学中的应用研究.pdf
以ACM为导向构建C语言实验教学新平台的研究与实践.pdf
是c语言的进阶学习,可提高编程能力,可作为ACM竞赛的参考题目
算法:C语言实现大全(1-5部分都有) 对于算法的学习和acm的学习都很有帮助而且算法是C语言实现的 对算法深入讲解 内容包括 算法分析 数据结构 搜索排序 第五部分呢 就是重要的图算法了
ACM消防车试题的C语言代码,ACM消防车试题的C语言代码。
对想学习ACM编程的新手们一些入门题目 pdf的文件 可供大家下载
详细的介绍了C语言跟ACM程序设计,列举了很多菜鸟易错点,对初学C语言程序设计的朋友很有用
包括浙大1001到1009、1115、1476、1712、1733、1796、1796、2405等等
acm大数加法的C语言实现,使用数组进行过程模拟,同时注意字符串中ASCII码的转换
int main() { int i,j,m,n,t,p,q,k; while(scanf("%d %d",&m,&n)==2) { for(k=0;k;k++) { scanf("%d",&a[k]); }
文档为数据结构课程相关章节的算法实现,每一部分的代码都可以单独运行,不止是单个函数,C语言版,与《数据结构(C语言版)》严蔚敏配套使用。面向学习计算机专业数据结构的同学,期末考试,做ACM的同学;计算机专业...
几道简单的编程题 我没有积分了 我要下东西
pku acm 2485 Highways代码 最小生成树的prim算法,有详细的注释
基于ACM平台的C语言实验课程教学实践.pdf
ACM常用算法讲解解析。非常适合想参加ACM算法竞赛的程序员