F008A. Dates badèniques

En el planeta Badènia s’usa un sistema de dates diferent al nostre. Encara que una data s’identifica com en el nostre cas amb un dia, un mes i un any, no coneixem ni quants mesos té un any, ni quants dies té cada mes. Però això no hauria de ser cap impediment perquè resolgueu aquest problema:

Donada una seqüència de dates badèniques, escriviu la primera que estigui compresa entre la seva anterior i la seva posterior dintre de la seqüència. Si no n’hi ha cap, indiqueu-ho.

Per exemple, |32/15/2007| està entre |23/2/1981| i |1/1/10234|, ja que és més gran que la primera i més petita que la segona. Com un altre exemple, |10/10/2| està entre |100/10/2| i |100/1/2|, perquè és més petita que la primera i més gran que la segona.

Utilitzant la definició

    struct Data {
        int dia, mes, any;
    };

el vostre programa ha d’incloure i fer servir la funció

    bool menor(const Data& d1, const Data& d2);

que retorna cert si i només si la data |d1| és estrictament menor que la data |d2|.

Entrada

L’entrada comença amb un natural n3n \ge 3. Segueixen nn dates badèniques diferents, cadascuna descrita amb tres naturals separts amb una barra, en aquest ordre: dia, mes, i any.

Sortida

Escriviu la primera data que estigui compresa entre la data anterior a ella i la data posterior a ella dins de la seqüència. Si no n’hi ha cap, indiqueu-ho. Seguiu el format dels exemples.

Observació

No podeu usar vectors per resoldre aquest problema.

Informació del problema

Autoria: Professorat de P1

Generació: 2026-01-25T11:37:25.005Z

© Jutge.org, 2006–2026.
https://jutge.org