만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

아름다운 순열

면접 대비

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

요약
n과 k가 주어질 때, 1부터 n까지의 순열 중 인접한 두 수의 곱의 합이 k로 나누어떨어지는 순열의 개수를 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법, 비트 연산, 완전 탐색
정답자
아직 제출이 없습니다

문제

크기가 nn인 순열은 11부터 nn까지의 서로 다른 수로 이루어진 배열 ⟨a1,a2,…,an⟩\langle a_1, a_2, \ldots, a_n \rangle이다. 각 수는 순열에 정확히 한 번씩 나타난다.

세냐는 순열 ⟨a1,a2,…,an⟩\langle a_1, a_2, \ldots, a_n \rangle의 아름다움을 a1a2+a2a3+…+an−1ana_1a_2 + a_2a_3 + \ldots + a_{n-1}a_n으로 정의한다. 세냐는 아름다움이 kk로 나누어떨어지는 순열의 개수를 세려고 한다.

nn과 kk가 주어졌을 때, 크기가 nn인 순열 중 아름다움이 kk로 나누어떨어지는 순열의 개수를 구하라.

입력

두 정수 nn과 kk가 주어진다 (1≤n≤101 \le n \le 10, 2≤k≤10002 \le k \le 1000).

출력

아름다움이 kk로 나누어떨어지는 크기 nn인 순열의 개수를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    3 2
    
    예상 출력
    2