Dues monedes de cada (1) P62113


Statement
 

pdf   zip

Donat un nombre xx i nn valors diferents de monedes m1m_1mnm_n, de quantes maneres es pot aconseguir canvi xx usant cada valor com a molt dues vegades? Considereu diferents dues monedes amb el mateix valor.

Per exemple, si x=4x = 4 i disposem dels dos valors 1 i 2, llavors tenim tres maneres: 1+1+21 + 1' + 2, 1+1+21 + 1' + 2', i també 2+22 + 2'.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb xx i nn, seguit de m1m_1mnm_n. Suposeu 1n201 \le n \le 20, 1mix10001 \le m_i \le x \le 1000, i que totes les mim_i són diferents.

Sortida

Per a cada cas, escriviu en ordre lexicogràfic totes les maneres d’aconseguir exactament canvi xx usant cada valor com a molt dues vegades. Escriviu cada solució amb els valors de petit a gran. A l’hora d’ordenar els valors, suposeu 1<1<2<2<1 < 1' < 2 < 2' < \dots. Useu “1p” per escriure 11', etcètera. Escriviu una línia amb 10 guions al final de cada cas.

Pista

Un backtracking mitjanament espurgat hauria de ser suficient.

Public test cases
  • Input

    4 2  1 2
    400 1  200
    400 1  300
    5 3  4 2 1
    5 5  1 2 3 4 5
    

    Output

    4 = 1 + 1p + 2
    4 = 1 + 1p + 2p
    4 = 2 + 2p
    ----------
    400 = 200 + 200p
    ----------
    ----------
    5 = 1 + 2 + 2p
    5 = 1 + 4
    5 = 1 + 4p
    5 = 1p + 2 + 2p
    5 = 1p + 4
    5 = 1p + 4p
    ----------
    5 = 1 + 1p + 3
    5 = 1 + 1p + 3p
    5 = 1 + 2 + 2p
    5 = 1 + 4
    5 = 1 + 4p
    5 = 1p + 2 + 2p
    5 = 1p + 4
    5 = 1p + 4p
    5 = 2 + 3
    5 = 2 + 3p
    5 = 2p + 3
    5 = 2p + 3p
    5 = 5
    5 = 5p
    ----------
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++