eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Crusher`s Code

Crusher`s Code

Уэсли Крушер работает ассистентом и ведет курс Введение в Алгоритмы. Во время своего первого занятия студентов попросили придумать свои собственные алгоритмы сортировки. Монти придумал следующий код:

prb6963.gif

Вдохновленный Карлос предложил следующий код:

prb6963_1.gif

Уэсли хочет определить, чей алгоритм лучше.

Для заданного входного массива до 8 значений вычислите и выведите ожидаемое количество итераций для каждого алгоритма. То есть сколько итераций в среднем должен выполнить каждый алгоритм для данного ввода?

Входные данные

Первая строка содержит количество тестов t (2t100). Каждый тест задается в отдельной строке. Первым в строке идет количество элементов в массиве n (2n8). Затем в строке заданы n целых чисел. Числа лежат в промежутке от 0 до 100 включительно. Элементы массива не обязательно различны.

Выходные данные

For each test case, print out the expected number of iterations for Monty's algorithm and for Carlos's algorithm, as shown in the sample output section. There should be exactly one space between words and no spaces at the start of each line or at the end of each line. There should be exactly six digits after the decimal point. Rounding should be to nearest representable value.

Лимит времени 20 секунд
Лимит использования памяти 128 MiB
Входные данные #1
12
2 1 2
2 2 1
3 1 2 3
3 3 2 1
4 1 2 3 4
4 4 3 2 1
4 2 1 4 3
5 1 1 1 1 1
5 5 4 3 2 1
8 8 7 6 5 4 3 2 1
8 3 1 4 1 5 9 2 6
8 2 7 1 8 2 8 1 8
Выходные данные #1
Monty 0.000000 Carlos 0.000000
Monty 2.000000 Carlos 1.000000
Monty 0.000000 Carlos 0.000000
Monty 6.000000 Carlos 5.000000
Monty 0.000000 Carlos 0.000000
Monty 14.666667 Carlos 12.500000
Monty 12.000000 Carlos 4.500000
Monty 0.000000 Carlos 0.000000
Monty 26.382275 Carlos 23.641975
Monty 89.576273 Carlos 79.496510
Monty 79.161905 Carlos 33.422840
Monty 63.815873 Carlos 38.910494
Источник 2013 North America - Pacific Northwest Region Programming Contest, Задача C