测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2533. 单向双轨道

编程题 提高+/省选-
知识点

题目描述

如图所示,某火车站有 B、C 两个调度站,左边入口 A 处有$n$ 辆火车等待进站(从左到右以 $a,b,c,d$ 编号),右边是出口 D,规定在这一段,火车从 A 进入经过 B、C 只能从左向右单向开,并且 B、C 调度站不限定所能停放的车辆数。

![](/uploads/acgo/image/4fba6a1cdd29921a_92fa3b63326c.png)

从文件输入 $n$ 及 $n$ 个小写字母的一个排列,该排列表示火车在出口 D 处形成的从左到右的火车编号序列。输出为一系列操作过程,每一行形如 $h, L, R$ 的字母序列,其中 $h$ 为火车编号,$L$ 为 $h$ 车原先所在位置(位置都以$\verb!A,B,C,D!$ 表示),$R$ 为新位置。或者输出 NO 表示不能完成这样的调度。

输入格式

一个数 $n\ (1<n\le 15)$ 及由 $n$ 个小写字母组成的字符串。

输出格式

可以调度则输出最短的调度序列,当有多种方案时输出按操作 $(L,R)$ 字典序最小的方案,不可以调度时则输出 NO

输入输出样例

输入 #1
3
cba
输出 #1
c A B
b A B
a A D
b B D
c B D

说明/提示

可以调度则输出最短的调度序列,当有多种方案时输出按操作 $(L,R)$ 字典序最小的方案,不可以调度时则输出 NO
上一题 去做题 下一题