【题解-信息学奥赛一本通】1357:车厢调度(train)

发布时间:2026/7/23 15:23:20
【题解-信息学奥赛一本通】1357:车厢调度(train) 题目1357车厢调度(train)题目描述有一个火车站铁路如图所示每辆火车从A驶入再从B方向驶出同时它的车厢可以重新组合。假设从A方向驶来的火车有n节n≤1000分别按照顺序编号为123…n。假定在进入车站前每节车厢之间都不是连着的并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停放任意多节车厢。但是一旦进入车站C它就不能再回到A方向的铁轨上了并且一旦当它进入B方向的铁轨它就不能再回到车站C。负责车厢调度的工作人员需要知道能否使它以a 1 a_1a1​,a 2 a_2a2​,…,a n a_nan​的顺序从B方向驶出请来判断能否得到指定的车厢顺序。输入第一行为一个整数n其中n≤1000表示有n节车厢第二行为n个数字表示指定的车厢顺序。输出如果可以得到指定的车厢顺序则输出一个字符串“YES”否则输出“NO”注意要大写不包含引号。时空限制1s / 64MB样例输入5 5 4 3 2 1样例输出YES代码#includebits/stdc.husingnamespacestd;constintN2010;intn,x,k,stk[N*2],tt;boolf;intmain(){cinn;stk[tt]1;k2;ftrue;while(n--){cinx;if(stk[tt]x){if(kx){ffalse;break;}while(kx){stk[tt]k;k;}}if(stk[tt]x)tt--;}if(tt0||!f)puts(NO);elseputs(YES);return0;}结果