Subseqüències de dígits P28329


Statement
 

pdf   zip

thehtml

Una seqüència A = a1-a2-...-am és una subseqüència d’una seqüència B = b1-b2-...-bn, amb mn, si es pot aconseguir A escollint m posicions de B, sense canviar-ne l’ordre relatiu. Per exemple, 4-2 és una subseqüència de 2-4-0-2, 1-19 és una subseqüència de 4-1-19, i 1-0-1-0-1-0 és una subseqüència de 1-1-0-1-0-0-1-0-0.

Sigui R(x, b) la representació d’un nombre natural x en base b, separant els dígits amb guions. Per exemple, R(42, 10) = 4-2, R(42, 23) = 1-19, i R(42, 2) = 1-0-1-0-1-0.

Donats diversos parells de nombres naturals x i y, trobeu totes les bases b per a les quals R(x, b) té almenys dos dígits i és una subseqüència d’R(y, b).

Entrada

L’entrada consisteix en diversos parells de naturals x i y, amb 1 < x < y < 109.

Sortida

Per a cada cas, escriviu en ordre i separades amb espais totes les bases b que compleixen la condició demanada. Amb les entrades donades, sempre n’hi haurà almenys una.

Observació

La vostra solució hauria d’implementar i fer servir una funció

bool es_subsequencia(int x, int y, int b);

que digui si R(x, b) és una subseqüència d’R(y, b).

Public test cases
  • Input

    42 2402
    42 2158
    42 420
    3 32
    9461 151511189
    7 49
    

    Output

    2 4 8 10 40
    2 4 7 23
    2 3 10
    3
    2 4 7 8988 9202
    2 3 6 7
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++