Exemplo n.º 1
0
 public static void main(String[] args) throws IOException {
   try (BufferedReader br =
       new BufferedReader(
           new InputStreamReader(Day01.class.getResourceAsStream("/01-input.txt")))) {
     Position pos = new Position(), firstVisitedTwice = null;
     Direction direction = Direction.NORTH;
     Set<Position> visited = new HashSet<>();
     visited.add(pos);
     for (String move : br.readLine().split(", ")) {
       direction = direction.turn(Turn.valueOf(String.valueOf(move.charAt(0))));
       for (int i = 0; i < Integer.parseInt(move.substring(1)); i++) {
         pos = direction.move(pos);
         if (firstVisitedTwice == null && visited.contains(pos)) {
           firstVisitedTwice = pos;
         }
         visited.add(pos);
       }
     }
     System.out.println(pos.distance());
     System.out.println(firstVisitedTwice.distance());
   }
 }