F017B. Barrejant racionals P75090


Statement
 

pdf   zip

Feu un programa que llegeixi dues seqüències ordenades amb nn i mm racionals a1,a2,…,ana_1, a_2, \dots, a_n i b1,b2,…,bmb_1, b_2, \dots, b_m, i que els escrigui ordenats però sense repetits.

El vostre programa ha d’utilitzar la definició

    struct Racional {
        int num, den;
    };

per implementar una funció @int comparador(const Racional& a, const Racional& b);@ que retorni 0 si a=ba = b, qualsevol enter positiu si a>ba > b, i qualsevol enter negatiu si a<ba < b.

Entrada

L’entrada conté un natural n≥0n \ge 0, seguit d’una seqüència creixent amb nn racionals, seguida d’un natural m≥0m \ge 0, seguit d’una seqüència creixent amb mm racionals. Tots els numeradors i denominadors són estrictament positius, i sense factors comuns. A més, són prou petits per evitar sobreiximents si feu els càlculs raonables que calen.

Sortida

Escriviu una línia per a cada racional de l’entrada, en ordre i sense repetits.

Observacions

  • Per comoditat, llegiu i guardeu les dues seqüència en un vector cadascuna.

  • Si useu el tipus double o el sort, sereu qualificats amb un zero.

Public test cases
  • Input

    9  1/5 1/5 1/3 1/1 8/3 3/1 3/1 4/1 4/1
    6  1/3 1/1 1/1 5/2 5/2 3/1
    

    Output

    1/5
    1/3
    1/1
    5/2
    8/3
    3/1
    4/1
    
  • Input

    2  8/9 8/9
    3  8/9 8/9 8/9
    

    Output

    8/9
    
  • Input

    0
    3  100/1 100/1 700/3
    

    Output

    100/1
    700/3
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++