Balances equilibrades V45017


Statement
 

pdf   zip

Donats nn pesos, hem de col·locar-los en una balança, un rere l’altre, de manera que en cap moment el plat de la dreta tingui més pes que el de l’esquerra. Us demanem que calculeu el nombre de maneres que hi ha de fer-ho.

Per exemple, si n=3n=3 i els pesos són {1,2,4}\{1,2,4\}, algunes solucions possibles són:

(1e,2e,4e),(2e,1e,4e),(2e,4e,1d),(2e,1d,4e),(4e,1d,2d),(1e,2e,4e),(2e,1e,4e), (2e,4e,1d), (2e,1d,4e), (4e,1d,2d), \cdots

on 1e1e significa que posem el pes 11 al plat de l’esquerra, mentre que 2d2d significa que posem el pes 22 al plat de la dreta. Recordem, com es veu a l’exemple, que l’ordre en el que posem els pesos importa i que, per tant, (2e,4e,1d)(2e,4e,1d) i (2e,1d,4e)(2e,1d,4e) són dues solucions diferents.

Entrada

L’entrada consisteix en diversos casos, cadascun amb el nombre de pesos nn seguit dels nn diferents pesos, tots entre 1 i 10610^6. Podeu assumir que 1n81 \le n \le 8.

Sortida

Per cada cas, escriviu el nombre de maneres correctes de col·locar els pesos a la balança. Aquest nombre mai serà més gran que 10710^7.

Public test cases
  • Input

    1   20
    3   1 2 4
    3   6 10 4
    8   1 2 3 4 5 6 7 8
    

    Output

    1
    15
    17
    2130717
    
  • Information
    Author
    Albert Oliveras
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++