그래프 매칭

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

요약
각 n에 대해 원 그래프 C_n의 매칭(독립 변집합) 개수를 구하는 문제로, 큰 수 연산과 재귀식 계산이 필요합니다.
난이도

보통10점 중 5점

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

문제

그래프 이론에서 매칭(또는 독립 간선 집합)은 서로 공통 정점을 가지지 않는 간선들의 집합이다.

그래프 G=(V,E)G = (V, E)가 주어졌을 때, 간선 집합 MM이 GG의 매칭이려면 M⊆EM \subseteq E이면서 MM에 속한 어떤 두 간선도 같은 정점을 공유하지 않아야 한다. 공집합도 하나의 매칭으로 센다.

사이클 그래프 CnC_n (n≥3n \ge 3)은 정점 집합이 {1,2,…,n}\{1, 2, \dots, n\}인 단순 무방향 그래프로, 간선 집합은 E(Cn)={{a,b}∣a−b≡±1(modn)}E(C_n) = \{\{a, b\} \mid a - b \equiv \pm 1 \pmod n\}이다. 즉 nn개의 정점이 이웃한 정점끼리 연결되어 하나의 고리를 이루며, 모든 정점의 차수가 22인 22-정규 그래프이고 간선의 수는 정확히 nn개이다.

사이클 그래프 CnC_n의 매칭의 개수를 구하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 정수 nn 하나로 주어지며, 한 줄에 하나씩 입력의 끝까지 계속된다. (3≤n≤100003 \le n \le 10000)

출력

각 테스트 케이스마다 CnC_n의 매칭의 개수를 한 줄에 하나씩 출력한다.

예제4

  1. 예제 1

    입력
    3
    4
    100
    
    예상 출력
    4
    7
    792070839848372253127
    
  2. 예제 2

    입력
    3
    
    예상 출력
    4
    
  3. 예제 3

    입력
    4
    
    예상 출력
    7
    
  4. 예제 4

    입력
    3
    4
    5
    6
    7
    8
    
    예상 출력
    4
    7
    11
    18
    29
    47