#P6892. [ICPC2014 WF] Baggage
[ICPC2014 WF] Baggage
题目描述
An airline has two flights leaving at about the same time from ICPCity, one to city B and one to city A. The airline also has counters where passengers check their baggage. At each counter there is a pair of identical baggage bins, one for city B and one for city A.
Just before the flights depart, each pair of baggage bins is moved by a motorized cart to a sorting area. The cart always moves two bins at a time, one for city B and one for city A. After all the bins have been moved, they line up in the sorting area like this:
B A B A B A ... B A
That is, there are baggage bins in a row, starting with a bin for city B, then one for city A, and so forth. The task now is to reorder them so all the baggage bins for city A precede the baggage bins for city B. Then the bins can be loaded on the appropriate aircraft.
The reordering is done by moving pairs of adjacent baggage bins (not necessarily B then A), again via the motorized cart. For proper balance, the cart must always carry two bins, never just one. A pair of bins must always be moved to an empty space that is at least two bins wide. On the left of the first bin are some empty spaces that can be used as needed during the reordering.
When the reordering process begins, the bin locations are numbered from (initially containing the leftmost B baggage bin) to (initially containing the rightmost A baggage bin). There are initially empty spaces to the left of the bins, numbered from to , as shown in Figure 1 for the case .
Figure 1: Initial configuration of bins and empty spaces for
Given , find a shortest sequence of moves that will reorder the bins so that all the A bins are to the left of all the B bins. At the end of the process, it is possible that the leftmost A bin is at some location other than , but the bins must be adjacent in a sequence of locations.
输入格式
The input consists of a single test case, which consists of the integer .
输出格式
Display a shortest sequence of moves that will correctly reorder the bins. Each move is of the form “ to ”, where and are integers representing the movement of the bins in locations and to locations and . If multiple solutions are possible, display any one of them.
题目大意
有一无穷长的流水线 ,初始时 。否则,若 为奇数,则 ;若 为偶数,则 。也就是说, 和 是交替出现的。
现需要进行若干次 如下 操作,使得 中的所有 非零元素 为 连续 的一段且所有的 均在 前面。
选择两个位置 和 ,满足 且 ,将 设为 , 设为 ,并且将 和 均设为 。输出时将此操作表示为 p to q
( 和 是具体的值)。
最小化操作步数,并输出操作序列,出题人将用 来评判您的答案的正确性。
5
8 to -1
3 to 8
6 to 3
0 to 6
9 to 0
8
10 to -1
3 to 10
14 to 3
7 to 14
0 to 7
11 to 0
4 to 11
15 to 4
提示
Time limit: 1000 ms, Memory limit: 1048576 kB.
International Collegiate Programming Contest (ACM-ICPC) World Finals 2014