queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | ||||
} | } | ||||
queue.add(new Move(start, start - 1, '^')); | |||||
queue.add(new Move(start, start + 1, '>')); | |||||
queue.add(new Move(start + 1, start, '>')); | |||||
queue.add(new Move(start - 1, start, '<')); | |||||
while (!queue.isEmpty()) { | while (!queue.isEmpty()) { | ||||
Move move = queue.poll(); | Move move = queue.poll(); | ||||
if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; | if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; |
queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | ||||
} | } | ||||
queue.add(new Move(start, start - 1, '^')); | |||||
queue.add(new Move(start, start + 1, '>')); | |||||
queue.add(new Move(start + 1, start, '>')); | |||||
queue.add(new Move(start - 1, start, '<')); | |||||
while (!queue.isEmpty()) { | while (!queue.isEmpty()) { | ||||
Move move = queue.poll(); | Move move = queue.poll(); | ||||
if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; | if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; |
queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | queue.add(new Move(start + directions[i][0], start + directions[i][1], commands[i])); | ||||
} | } | ||||
queue.add(new Move(start, start - 1, '^')); | |||||
queue.add(new Move(start, start + 1, '>')); | |||||
queue.add(new Move(start + 1, start, '>')); | |||||
queue.add(new Move(start - 1, start, '<')); | |||||
while (!queue.isEmpty()) { | while (!queue.isEmpty()) { | ||||
Move move = queue.poll(); | Move move = queue.poll(); | ||||
if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; | if (move.x < 0 || move.x >= size || move.y < 0 || move.y >= size || visited[move.x][move.y]) continue; |