Parèntesis i claus W29750


Statement
 

pdf   zip

Suposeu que disposeu de xx parells de parèntesis i de yy parells de claus. De quantes maneres els podeu parentitzar correctament?

Per exemple, amb x=2x = 2 i y=1y = 1 hi ha 15 maneres:

()(){} (){()} ((){}) ({()}) {()}()
()({}) (()){} (({})) {}()() {()()}
(){}() ({})() ({}()) {}(()) {(())}

Com que el nombre de combinacions creix molt de pressa amb xx i yy, feu els càlculs mòdul un natural donat mm.

Entrada

L’entrada consisteix en diversos casos. Cada cas té xx, yy i mm. Suposeu 0x500 \le x \le 50, 0y500 \le y \le 50, i 2m1042 \le m \le 10^4.

Sortida

Per a cada cas, escriviu el nombre de parentitzacions correctes amb xx parells de parèntesis i yy parells de claus, mòdul mm.

Public test cases
  • Input

    2 1 1000
    1 2 1000
    1 2 4
    0 0 1000
    1 0 1000
    2 0 1000
    3 0 1000
    6 6 10000
    6 6 1000
    50 50 10000
    

    Output

    15
    15
    3
    1
    1
    2
    5
    3088
    88
    5920
    
  • Information
    Author
    Enric Rodríguez
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++ Python