1부터 N까지의 순열을 매번 고른 위치만 무작위로 섞어 정렬할 때 최적 전략의 기댓값을 구합니다.
보통7확률조합론수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB여기 아주 특이한 방법으로 정렬을 하는 사람이 있다.
그리고 그의 이름은 존 시나!!!!

알고리즘 전문가가 아닌 존 시나는 자기만의 방법으로 수를 정렬한다. 존 시나가 정렬할 배열에는 1부터 N까지의 자연수가 하나씩 들어 있다. 존 시나는 먼저 배열에서 원소를 몇 개 고른 뒤 "You can't see me"라고 외친다. 그리고 고른 원소에 동시에 파이브 너클 셔플을 날린다. 그러면 고른 원소가 큰 대미지를 입고 순서가 무작위로 섞인다. 고른 원소를 늘어놓는 방법은 모두 같은 확률로 나온다.
동시에 날린 파이브 너클 셔플은 원소를 몇 개 골랐든 한 번으로 센다. 존 시나는 배열이 오름차순으로 정렬될 때까지 이 동작을 반복하고, 매번 그때까지 나온 결과를 보고 다음에 고를 원소를 정한다. 존 시나가 최적의 전략을 써서 파이브 너클 셔플 횟수의 기댓값을 최소로 만들 때, 그 기댓값은 얼마인가?
첫 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄이다. 첫 줄에 배열의 길이 N이 주어지고, 둘째 줄에 배열의 원소 N개가 차례대로 주어진다.
1≤T≤100, 1≤N≤1000이다. 배열에는 1부터 N까지의 자연수가 하나씩 들어 있다.
각 테스트 케이스마다 테스트 케이스 번호 x와 최소 기댓값 y를 Case #x: y 형식으로 한 줄에 출력한다. y는 반올림해서 소수점 아래 여섯째 자리까지 출력한다.
배열이 [2,1]이면 존 시나는 두 원소를 모두 골라 파이브 너클 셔플을 날린다. 1/2의 확률로 배열이 정렬되고 1/2의 확률로 그대로 남으므로 기댓값은 2다.
배열이 [1,3,2]이면 3과 2를 골라 파이브 너클 셔플을 날린다. 앞과 같은 이유로 기댓값은 2다.
배열이 [2,1,4,3]이면 먼저 2와 1을 골라 파이브 너클 셔플을 날린다. 여기까지의 기댓값은 2다. 이어서 4와 3을 골라 파이브 너클 셔플을 날리면 전체 기댓값은 4다.