Permutacions i cicles P99557


Statement
 

pdf   zip

Donats dos naturals nn i kk, sigui f(n,k)f(n, k) el nombre de permutacions amb nn elements, i les quals contenen exactament kk cicles, tots ells de longitud 2 o més. Implementeu una programació dinàmica que calculi f(n,k)f(n, k).

Entrada

L’entrada consisteix en diversos casos, cadascun amb dos naturals nn i kk. Podeu suposar 2n10002 \le n \le 1000 i 1kn/21 \le k \le \lfloor n/2 \rfloor.

Sortida

Per a cada cas, escriviu f(n,k)f(n, k). Com que aquest nombre pot ser molt gran, useu @long long@’s i feu els càlculs mòdul 109+710^9 + 7.

Pista

Es pot calcular f(n,k)f(n, k) com la suma de només dues “crides recursives”.

Public test cases
  • Input

    2 1
    3 1
    4 1
    4 2
    5 1
    5 2
    20 5
    100 10
    1000 1
    1000 2
    1000 500
    

    Output

    1
    2
    6
    3
    24
    20
    796437723
    673801497
    756641425
    592422688
    164644882
    
  • Information
    Author
    Enric Rodríguez
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++