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 n0n \ge 0, seguit d’una seqüència creixent amb nn racionals, seguida d’un natural m0m \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++