Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
algoritmos-oia:grafos:bfs:distintas-movidas-en-tablero [2018/01/07 04:32] sebach |
algoritmos-oia:grafos:bfs:distintas-movidas-en-tablero [2018/01/07 05:02] (actual) guty [Ir a casillas vecinas] |
||
---|---|---|---|
Línea 16: | Línea 16: | ||
Para hacer esto, podemos tener dos vectorcitos, $dx$ y $dy$, que en la posición $i$, los vectores nos digan que para ir al i-ésimo vecino debo moverme $dx[i]$ en la dirección $x$, y $dy[i]$ en la dirección $y$. | Para hacer esto, podemos tener dos vectorcitos, $dx$ y $dy$, que en la posición $i$, los vectores nos digan que para ir al i-ésimo vecino debo moverme $dx[i]$ en la dirección $x$, y $dy[i]$ en la dirección $y$. | ||
- | Para ir a las casillas vecinas como dijimos, tendríamos $vector<int> dx = {1, -1, 0, 0};$ y $vector<int> dy = {0, 0, 1, -1};$ | + | Para ir a las casillas vecinas como dijimos, tendríamos ''vector<int> dx = {1, -1, 0, 0};'' y ''vector<int> dy = {0, 0, 1, -1};'' |
Línea 30: | Línea 30: | ||
Para simular las movidas desde la posición $(a, b)$, haremos un for para cada movida $i$ e iremos a la posición $(a+dx[i], b+dy[i])$ del tablero, siempre y cuando no nos hayamos ido del límite del tablero. | Para simular las movidas desde la posición $(a, b)$, haremos un for para cada movida $i$ e iremos a la posición $(a+dx[i], b+dy[i])$ del tablero, siempre y cuando no nos hayamos ido del límite del tablero. | ||
- | Para el movimiento mencionado del caballo, empezando por el de "arriba a la derecha", los vectores quedarían: | + | Para el movimiento mencionado del caballo, empezando por el de "arriba a la derecha" y siguiendo en sentido horario, los vectores quedarían: |
<code cpp> | <code cpp> | ||
// incrementar en x significa ir a una fila mas abajo, incrementar y significa ir a una columna mas a la derecha | // incrementar en x significa ir a una fila mas abajo, incrementar y significa ir a una columna mas a la derecha | ||
- | vector<int> dx = {-2, -1, 1, 2, 2, 1, -1, -2} | + | vector<int> dx = {-2, -1, 1, 2, 2, 1, -1, -2}; |
- | vector<int> dy = { 1, 2, 2, 1, -1, -2, -2, -1} | + | vector<int> dy = { 1, 2, 2, 1, -1, -2, -2, -1}; |
</code> | </code> | ||