랜덤 소트

시간 제한2초메모리 제한128 MB

요약
크기가 최대 8인 순열에서 무작위로 역전 쌍을 골라 교환하여 정렬이 완료될 때까지 필요한 기대 교환 횟수를 구하는 문제입니다.
난이도

어려움10점 중 8점

유형
확률, 동적 계획법, 수학, 조합론
정답자
아직 제출이 없습니다

문제

랜덤 소트는 순열에서 i < j이고 A[i] > A[j]인 위치 쌍을 하나 무작위로 골라 두 원소를 서로 바꾸는 정렬 과정이다.

주어진 순열이 오름차순으로 정렬될 때까지 필요한 교환 횟수의 기댓값을 구하라.

입력

첫째 줄에 순열의 크기 N이 주어진다. 둘째 줄에 순열을 이루는 N개의 정수가 주어진다.

각 정수는 1 이상 N 이하이며, 같은 정수는 두 번 이상 주어지지 않는다. N은 8 이하의 자연수이다.

출력

필요한 교환 횟수의 기댓값을 출력한다. 정답과의 절대 또는 상대 오차가 10^-6 이하이면 정답으로 인정된다.

예제4

  1. 예제 1

    입력
    3
    1 3 2
    
    예상 출력
    1.0
    
  2. 예제 2

    입력
    4
    4 3 2 1
    
    예상 출력
    4.066666666666666
    
  3. 예제 3

    입력
    1
    1
    
    예상 출력
    0.0
    
  4. 예제 4

    입력
    6
    2 5 1 6 3 4
    
    예상 출력
    5.666666666666666