아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

자기 서술 수열

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

요약
길이가 N인 수열 중에서 각 위치 i의 값이 수열에 i가 나타나는 횟수와 같은 경우의 수를 셉니다.
난이도

어려움10점 중 8점

유형
수학, 조합론, 백트래킹
정답자
아직 제출이 없습니다

문제

자연수 NN이 주어진다. 길이가 NN인 수열 A=(A0,A1,…,AN−1)A = (A_0, A_1, \ldots, A_{N-1})이 0≤i<N0 \le i < N인 모든 ii에서 다음을 만족하면 자기 서술 수열이라고 한다.

AiA_i는 수열 AA 안에 값 ii가 등장하는 횟수와 같다.

길이가 NN인 자기 서술 수열이 몇 개인지 세어라.

입력

첫째 줄에 테스트 케이스의 수를 뜻하는 자연수 TT가 주어진다. 이어지는 TT개의 줄에는 수열의 길이 NN (1≤N≤100)(1 \le N \le 100)이 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스마다 길이가 NN인 자기 서술 수열의 개수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.

힌트

N=5N = 5이면 조건을 만족하는 수열은 (2,1,2,0,0)(2, 1, 2, 0, 0) 하나뿐이다. N=4N = 4이면 (2,0,2,0)(2, 0, 2, 0)과 (1,2,1,0)(1, 2, 1, 0) 두 개가 있다.

예제6

  1. 예제 1

    입력
    3
    2
    5
    4
    
    예상 출력
    0
    1
    2
    
  2. 예제 2

    입력
    1
    1
    
    예상 출력
    0
    
  3. 예제 3

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

    입력
    1
    7
    
    예상 출력
    1
    
  5. 예제 5

    입력
    1
    100
    
    예상 출력
    1
    
  6. 예제 6

    입력
    10
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    예상 출력
    0
    0
    0
    2
    1
    0
    1
    1
    1
    1