학습지 알고리즘
시간 제한1초메모리 제한512 MB
N개 정점 위의 무방향 그래프 X 중 G(P)=X를 만족하는 순열 P의 개수가 l 이상 r 이하인 것의 수를 1e9+7로 나눈 나머지로 구한다.
문제
학습지로 유명한 회사가 초등학생용 코딩 학습지를 새로 만들기로 했다. 아이에게 코딩을 어떻게 가르쳐야 할지 몰라 난감해하던 학부모는 이 소식을 반겼다.
집필진으로 뽑힌 준서는 처음에는 이런 유행을 탐탁지 않아 했지만, 문제 하나당 5만원을 주겠다는 제안에 마음을 바꿨다.
그래프 알고리즘 단원을 맡은 준서는 다음 문제를 생각해 냈다.
부터 까지의 순열 에 대해, 정점이 개인 무방향 그래프 를 다음과 같이 정의한다. 각 마다 정점 와 정점 를 잇는 간선을 하나씩 긋는다. 셀프 루프와 중복 간선도 허용한다. 정점이 개인 무방향 그래프 가 주어지면, 인 순열 를 모두 구하라.
준서는 답이 되는 순열이 너무 적지도, 너무 많지도 않기를 바란다. 즉 인 가 개 이상 개 이하인 만 문제로 낸다. 돈을 많이 벌고 싶으므로 기준에 맞는 는 하나도 빠뜨리지 않고 문제로 낸다.
정점에는 부터 까지 번호가 붙어 있고, 간선의 구성이 다르면 서로 다른 그래프로 센다. 준서는 문제를 몇 개나 낼 수 있을까?
입력
첫째 줄에 세 정수 , , 이 주어진다. (, )
출력
준서가 낼 수 있는 서로 다른 문제의 수, 즉 조건을 만족하는 그래프 의 개수를 로 나눈 나머지를 한 줄에 출력한다.