Задачи
Произвольное тасование
Произвольное тасование
Произвольное тасование чисел массива А производится согласно следующего алгоритма:
n = длина массива А for i = 1 to n сгенерировать произвольное число r между 1 и n включительно поменять местами A[i] и A[r] Вычислить вероятность того, что заданный массив чисел получен в результате выполнения операции произвольного тасования набора {1, 2, …, n}. Здесь n равно количеству элементов входного массива.
Входные данные
Каждая строка является отдельным тестом и содержит значение n (1 ≤ n ≤ 10), за которым следуют элементы массива А - перестановка чисел от 1 до n.
Выходные данные
Для каждого теста в отдельной строке вывести с 8 цифрами после десятичной точки вероятность того, что входной массив получен в результате выполнения операции произвольного тасования набора {1, 2, …, n}.
Пример
Входные данные #1
1 1 2 1 2 5 4 2 5 1 3
Выходные данные #1
1.00000000 0.50000000 0.00672000