¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1162

자리배치3 1s 64MB

Problemas

N명의 사람들이 원탁에 앉고자 한다. N명의 사람들은 남자이거나 여자일 수 있다. N명의 사람이 주어지고, 남녀의 수가 몇 명인지 모르는 상황에서 K명보다 많은 수의 여성이 연속되게 앉아 있는 경우가 

발생하지 않게끔 자리 배치를 할 경우에 가능한 모든 경우의 수를 구하는 프로그램을 구현하라. 

여성은 0명이상 N명이하의 수로 구성될 수 있으며, 남자는 그의 나머지라고 볼 수 있다.

 

가령 맨 위를 기준으로 시계방향으로 MMWW와 같이 앉아 있을 때, 

WWMM, WMMW와 같은 한가지의 경우로 간주한다(여기서 M은 남자 W는 여자를 뜻한다.).


Entrada

입력은 한줄의 N과 K가 주어진다. N은 1이상 1,000 이하, K는 1이상 1,000 이하이다. K가 N보다 클 경우가 있으니 주의한다. 입력 중 40%는 N, K가 20 이하로 이루어진 경우가 들어온다.

Salida

출력은 제약 조건을 만족하는 가능한 모든 경우의 수를 출력한다. 숫자가 너무 클 수 있기 때문에 100,000,007로 나눈 나머지를 출력하도록 한다.

Ejemplo #1

3 1
2

Ejemplo #2

3 3
4

Ejemplo #3

4 1
3

Fuente

IPSC 2008
Debes iniciar sesión para escribir código.