printРабочее место участника

printЗадачи

1623. Solitaire

Ограничения: время – 6s/12s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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 Output 1

1 2 100

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
loading