Solitaire
Ограничения: время – 6s/12s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Patience or solitaire is the name for a group of single player card
games. One new such game, so new it has no name, is played with cards
sporting random integers as values. The game starts by shuffling all cards and
distributing them in `N` sequences, not necessarily of equal length.
During each turn, the player can remove the first card in any sequence and
place it at the end of the “Solution sequence”. The card that was second in the
selected sequence now becomes the first and the turn ends. Of course once
the card is in the “Solution sequence” it cannot be removed, replaced or
altered in any way. So don't even try.
The game ends when all cards are in the “Solution sequence”. The object of the
game is to construct the best possible “Solution sequence”. One sequence is
better than the other if for the first cards they differ, lets call them `X` and `Y`, the
value on the card `X` is smaller than the value on the card `Y`.
Write a program that finds the best possible “Solution sequence”.
Input
The first line contains one integer `N` (`1\ ≤\ N\ ≤\ 1000`), number of starting
sequences.
Next `N` lines contain description of input sequences. Each line starts with an
integer `L_i` (`1\ ≤\ L_i\ ≤\ 1000`), length of the sequence. It's followed by `L_i` integers,
smaller than `100\ 000\ 000`.
Output
One line containing `∑\ L_i` numbers, the best possible “Solution sequence”
obtainable.
Sample Input 1
3
1 2
1 100
1 1
Sample Input 2
2
5 10 20 30 40 50
2 28 27
Sample Output 2
10 20 28 27 30 40 50
Sample Input 3
2
3 5 1 2
3 5 1 1
Sample Output 3
5 1 1 5 1 2
Source: COCI 2009/2010 contest #2