시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 128 MB | 295 | 177 | 131 | 63.285% |
랜덤 소트는 어떤 순열이 주어졌을 때, i<j이면서 A[i] > A[j]인 임의의 쌍을 교환하는 것이다.
입력으로 주어진 순열을 오름차순으로 정렬할 때, 필요한 교환의 횟수의 기댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 순열의 크기 N이 주어진다. 둘째 줄에 순열에 들어있는 수 N개가 주어진다. 이 수는 모두 1보다 크거나 같고, N보나 작거나 같으며, 같은 수는 2번 이상 주어지지 않는다. 또, N은 8보다 작거나 같은 자연수이다.
첫째 줄에 필요한 교환 횟수의 기댓값을 출력한다. 정답과의 절대/상대 오차는 10-6까지 허용한다.
3 1 3 2
1.0
4 4 3 2 1
4.066666666666666
1 1
0.0
6 2 5 1 6 3 4
5.666666666666666