Crusher`s Code
Crusher`s Code
Уэсли Крушер работает ассистентом и ведет курс Введение в Алгоритмы. Во время своего первого занятия студентов попросили придумать свои собственные алгоритмы сортировки. Монти придумал следующий код:
Вдохновленный Карлос предложил следующий код:
Уэсли хочет определить, чей алгоритм лучше.
Для заданного входного массива до 8 значений вычислите и выведите ожидаемое количество итераций для каждого алгоритма. То есть сколько итераций в среднем должен выполнить каждый алгоритм для данного ввода?
Входные данные
Первая строка содержит количество тестов t (2 ≤ t ≤ 100). Каждый тест задается в отдельной строке. Первым в строке идет количество элементов в массиве n (2 ≤ n ≤ 8). Затем в строке заданы 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.
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
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