Sigui V un vector de mida N que conté una permutació de {1,2,3,…, N} (els seus subíndexos). Donat el vector V, i una posició inicial p, podem descriure un camí d’aquesta manera: Comencem a la posició p. La següent posició serà V[p], i la següent serà V[V[p]] i així successivament. Per exemple, amb la posició inicial p = 2, el vector:
V = | 4 | 1 | 2 | 3 |
descriu el camí per les posicions p=2, que és la primera, com ja hem dit, després anem a la posició V[2] = 1, és a dir, a la posició p=1, després anem a la posició V[1] = 4, després anem a la posició V[4] = 3, i després a la posició V[3] = 2, i ja hem passat per totes les posicions del vector. De tota manera, pot passar que, donat un vector i una posició inicial, no puguem passar per totes les posicions del vector. Per exemple, en aquest cas, amb la posició inicial p = 1:
V = | 2 | 1 | 3 | 4 |
comencem a la posició 1, després la posició 2, i després a la posició 1 una altra vegada, sense possibilitat d’accedir a cap altra posició. Quan donat un vector V i una posició p podem recorre’l de manera que passem per totes les posicions, llavors diem que és un vector encadenat.
Escriu la funció encadenat (V,p)
tal que,
donats un vector V i una posició inicial 1 ≤ p ≤ len(V),
torni TRUE
si i només si V és un vector encadenat.
Assumeix que V de mida N conté sempre una permutació de
{1,2,3,…, N}.
La funció cal que es digui encadenat
.
Observació
Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet)
que et demanem i prou.
El fitxer main.R
et pot servir per a fer la teva solució, però no cal que n’enviïs
el contingut.
Entrada
Un vector V d’enters de mida N i una posició 1 ≤ p ≤ N. V conté sempre una permutació de {1,2,3,…, N}.
Sortida
TRUE
si i només si V és un vector encadenat.
Input
4 4 1 2 3 2
Output
TRUE
Input
4 2 1 3 4 1
Output
FALSE