/*
* Przemyslaw Horban (nr. albumu: 262940)
* Uniwersystet Warszawski
*/
labrunner del pacchetto;
importazione java.util.ArrayList;
importazione java.util. Lista;
/**
*
* @author Przemyslaw Horban
*/
codice categoria pubblico LabRunner {
programma del carbone [] [];
int w, h;
bue riservato di int [] = {- 1, 1, 0, 0},
oy = {0, 0, 1, -1};
carbone riservato [] stepChar = {''<>, “v„, “^„};
dirCh di int;
camminata booleana riservata (int x, int y) {
se (checkDeadEnds (x, y) checkReachability del && (x, y)) {
wayToGo booleano = falso;
per (int i = 0; i < 4="">= 0 nx del && < w="">= 0 newX ny < h="">del && del && = 0 < w="">= 0 newY del && < h=""> 1)
falso di ritorno;
}
}
}
di ritorno allineare;
}
classificare la pinta {
int x, y;
Pinta (int x, int y) {
this.x = x;
this.y = y;
}
}
checkReachability booleano riservato (int x, int y) {
toVisit della lista = nuovo ArrayList ();
booleano [] [] ha visitato = nuovo booleano [h] [w];
toVisit.add (nuova pinta (x, y));
visitato [y] [x] = allineare;
mentre (! toVisit.isEmpty ()) {
Pinta p = toVisit.get (toVisit.size () - 1);
toVisit.remove (toVisit.size () - 1);
per (int i = 0; i < 4="">= 0 newX del && < w="">= 0 newY del && < h="">
|