잘못 구현된 알고리즘
시간 제한2초메모리 제한512 MB
길이 n인 순열 중 주어진 회전 알고리즘이 1로 시작하는 순환 이동을 잘못 찾는 순열의 개수를 구합니다.
문제
다음 문제를 생각해 보자.
- 부터 까지의 정수가 각각 정확히 한 번씩 나타나는 순열 이 주어진다. 이 순열의 순환 이동 중 로 시작하는 것은 하나뿐이며, 그 순환 이동을 구하라.
이 문제를 다음 알고리즘으로 풀려고 한다.
- 입력:
- 에 대해 다음을 반복한다.
- 이면, 를 회전시켜 를 맨 앞으로 옮긴다. 즉 로 둔다.
- 출력:
이 알고리즘이 잘못 동작하는 순열의 개수를 구하라.
입력
한 줄에 정수 ()이 주어진다.
출력
알고리즘이 잘못 동작하는 순열의 개수를 출력한다.
힌트
인 경우, 알고리즘이 틀리게 답하는 순열은 뿐이다. 알고리즘은 을 출력하지만, 올바른 답은 이다.