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

Довільне тасування

Довільне тасування

Довільне тасування чисел масиву \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{.}
Ліміт часу 6 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
1 1
2 1 2
5 4 2 5 1 3
Вихідні дані #1
1.00000000
0.50000000
0.00672000