Vectors quasi-ordenats

En aquest problema, direm que un vector està quasi-ordenat si caldria fer exactament un intercanvi entre els elements de dues posicions diferents perquè el vector quedés totalment ordenat. Per exemple, el vector @[2, 7, 5, 3, 9]@ està quasi-ordenat, perquè si intercanviem el 7 amb el 3 el vector queda ordenat del tot. Com altres exemples, ni el vector @[5, 4, 3, 2]@ ni el vector @[0, 1]@ estan quasi-ordenats.

Implementeu un procediment

    void posicions(const vector<int>& V, int& e, int& d);

que, donat un vector @V@ quasi-ordenat, deixi dins de @e@ i de @d@ les dues posicions que caldria intercanviar per ordenar @V@. S’ha de complir 00 \le @e@ << @d@ << @V.size()@.

Precondició

El vector @V@ està quasi-ordenat i no té elements repetits.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Informació del problema

Autoria: Jordi Cortadella

Generació: 2026-01-25T11:40:32.022Z

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