Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Map;
- import java.util.Set;
- import java.awt.Point;
- /**
- * Created by tim on 12/2/2015.
- */
- public class Advent3 {
- static enum Direction {
- North(-1,0), South(1,0), East(0,1), West(0,-1);
- private final int dx;
- private final int dy;
- private Direction(int dx, int dy) {
- this.dx = dx;
- this.dy = dy;
- }
- }
- static Map<Character, Direction> map = new HashMap<>();
- static {
- map.put('^', Direction.North);
- map.put('>', Direction.East);
- map.put('<', Direction.West);
- map.put('v', Direction.South);
- }
- public static void main(String[] args) {
- String data = "^^<<v<<v><v^^<><> ...etc... >^>><<v>";
- //int[][] grid = new int[10000][10000];
- Set<Point> set = new HashSet<>();
- int[] x = new int[2];
- int[] y = new int[2];
- int turn = 1;
- set.add(new Point(x[0], y[0]));
- int sum = 1;
- Direction currentDir;
- for (char each : data.toCharArray()) {
- turn ^= 1;
- currentDir = map.get(each);
- x[turn] += currentDir.dx;
- y[turn] += currentDir.dy;
- set.add(new Point(x[turn],y[turn]));
- }
- System.out.println(set.size());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment