eolymp
bolt
Try our new interface for solving problems
Məsələlər

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

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

Произвольное тасование чисел массива \textbf{А} производится согласно следующего алгоритма: \textbf{n} = длина массива \textbf{А} for \textbf{i} = \textbf{1} to \textbf{n} сгенерировать произвольное число \textbf{r} между \textbf{1} и \textbf{n} включительно поменять местами \textbf{A\[i\]} и \textbf{A\[r\]} Вычислить вероятность того, что заданный массив чисел получен в результате выполнения операции произвольного тасования набора \{\textbf{1}, \textbf{2}, …, \textbf{n}\}. Здесь \textbf{n} равно количеству элементов входного массива. \InputFile Каждая строка является отдельным тестом и содержит значение \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10}), за которым следуют элементы массива \textbf{А} - перестановка чисел от \textbf{1} до \textbf{n}. \OutputFile Для каждого теста в отдельной строке вывести с \textbf{8} цифрами после десятичной точки вероятность того, что входной массив получен в результате выполнения операции произвольного тасования набора \{\textbf{1}, \textbf{2}, …, \textbf{n}\}\textbf{.}
Zaman məhdudiyyəti 6 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
1 1
2 1 2
5 4 2 5 1 3
Çıxış verilənləri #1
1.00000000
0.50000000
0.00672000