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

Произвольное тасование

Произвольное тасование

Лимит времени 6 секунд
Лимит использования памяти 64 MiB

Произвольное тасование чисел массива А производится согласно следующего алгоритма:

n = длина массива А for i = 1 to n сгенерировать произвольное число r между 1 и n включительно поменять местами A[i] и A[r] Вычислить вероятность того, что заданный массив чисел получен в результате выполнения операции произвольного тасования набора {1, 2, …, n}. Здесь n равно количеству элементов входного массива.

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

Каждая строка является отдельным тестом и содержит значение n (1n10), за которым следуют элементы массива А - перестановка чисел от 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