Salta, salta P77227


Statement
 

pdf   zip   main.cc

Sigui @v@ un vector de nombres enters. Començant en una posició @p@ qualsevol de @v@, salteu pel vector segons indica el valor de @v[p]@: si és positiu, cal saltar d’un sol cop @v[p]@ passos cap a la dreta; si és negatiu, cal saltar d’un sol cop -@v[p]@ passos cap a l’esquerra. El procés es repeteix per sempre, a no ser que se surti del vector, ja sigui per la banda dreta o per la banda esquerra.

Feu una funció

    string sortida(int p, vector<int>& v);

que retorni “esquerra”, “dreta” o “mai” segons se surti per l’esquerra, per la dreta o no se surti mai.

Precondició

00 \le@p@<<@v.size()@

Observació

El valor que tingui @v@ al final no és important. A més, fixeu-vos que no s’ha declarat constant. Aprofiteu-vos d’aquest fet per escriure una funció com més eficient millor.

Observació

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

Information
Author
Salvador Roura
Language
Catalan
Other languages
English
Official solutions
C++
User solutions
C++