Frans Bergman 2 жил өмнө
parent
commit
652010708f
2 өөрчлөгдсөн 2054 нэмэгдсэн , 0 устгасан
  1. 2000 0
      9.input
  2. 54 0
      9.py

+ 2000 - 0
9.input

@@ -0,0 +1,2000 @@
+L 1
+D 2
+L 2
+U 2
+D 2
+U 2
+D 1
+R 1
+U 1
+R 1
+L 2
+R 1
+U 1
+R 2
+L 1
+D 2
+R 2
+L 2
+D 1
+U 2
+R 2
+L 1
+U 2
+D 2
+U 2
+D 2
+L 1
+R 2
+L 1
+R 1
+L 1
+D 2
+L 1
+U 1
+L 2
+U 1
+L 2
+R 2
+D 1
+L 2
+R 1
+D 1
+U 1
+L 1
+U 2
+D 2
+L 1
+U 1
+R 2
+D 1
+L 1
+U 1
+R 2
+D 1
+R 2
+D 2
+U 2
+R 2
+U 2
+R 1
+L 1
+R 1
+L 1
+D 1
+U 1
+R 2
+D 2
+L 2
+U 1
+D 1
+R 1
+U 1
+L 1
+D 2
+U 2
+D 1
+L 2
+U 1
+D 1
+L 2
+U 1
+R 2
+D 1
+L 1
+R 1
+L 1
+D 1
+L 1
+R 1
+L 2
+R 2
+D 1
+R 2
+D 1
+L 1
+D 1
+L 2
+R 2
+U 2
+L 2
+R 1
+U 2
+R 2
+D 1
+U 1
+L 2
+D 2
+U 2
+L 2
+R 1
+U 2
+D 2
+L 3
+D 1
+R 2
+D 2
+U 2
+L 3
+U 1
+D 1
+R 1
+D 2
+L 2
+D 2
+R 3
+D 1
+U 1
+L 3
+R 2
+L 1
+U 2
+D 1
+R 1
+U 1
+D 1
+L 3
+U 3
+R 3
+U 1
+L 1
+U 1
+R 3
+U 3
+L 2
+R 1
+L 2
+U 1
+R 3
+L 3
+U 1
+D 2
+U 3
+R 3
+D 1
+L 1
+R 2
+L 1
+U 1
+R 2
+D 1
+U 1
+D 1
+R 3
+D 3
+R 1
+U 3
+D 2
+R 2
+L 2
+U 1
+R 2
+U 2
+D 2
+R 1
+U 1
+R 3
+D 2
+U 1
+D 2
+L 3
+R 3
+U 3
+R 3
+L 3
+U 3
+L 2
+R 1
+U 2
+D 2
+R 2
+L 1
+U 3
+L 2
+U 1
+R 1
+U 3
+D 3
+R 2
+L 1
+U 3
+D 3
+L 2
+R 2
+D 3
+L 3
+R 2
+D 3
+U 3
+L 1
+D 1
+L 2
+R 3
+U 2
+D 2
+U 3
+R 2
+L 2
+U 3
+D 1
+L 3
+U 1
+L 1
+U 1
+D 4
+L 3
+U 3
+D 2
+R 3
+U 4
+D 2
+U 1
+R 3
+L 4
+R 1
+D 2
+R 1
+D 4
+U 1
+D 3
+U 4
+L 3
+D 4
+R 1
+U 3
+R 1
+U 2
+L 2
+R 1
+D 2
+U 1
+D 4
+R 1
+D 1
+R 4
+L 2
+D 2
+R 2
+L 3
+U 1
+L 4
+D 1
+U 2
+L 4
+D 3
+R 4
+L 4
+D 3
+L 4
+R 1
+D 3
+U 1
+L 1
+D 4
+R 1
+U 4
+L 2
+U 3
+R 4
+L 4
+D 4
+U 3
+R 2
+U 2
+L 2
+R 1
+U 2
+L 3
+U 4
+D 4
+L 4
+R 4
+L 3
+D 4
+U 3
+L 3
+U 2
+L 3
+R 3
+D 4
+R 4
+L 1
+U 1
+R 1
+D 2
+U 3
+D 4
+L 4
+D 3
+U 4
+L 1
+R 4
+U 2
+D 4
+R 2
+L 3
+R 2
+U 4
+R 3
+U 1
+L 2
+U 4
+R 4
+L 1
+D 2
+R 1
+U 4
+R 4
+U 1
+L 1
+U 1
+R 1
+L 4
+U 2
+R 2
+L 5
+R 5
+L 1
+R 4
+U 5
+L 4
+R 3
+D 1
+R 4
+L 5
+R 2
+L 1
+R 5
+D 4
+R 4
+L 1
+U 2
+D 4
+U 4
+L 5
+D 3
+U 2
+D 5
+L 5
+D 3
+U 1
+R 5
+U 4
+R 1
+U 4
+D 1
+R 2
+D 2
+U 3
+D 3
+R 5
+U 2
+D 2
+U 5
+L 4
+R 1
+D 4
+U 3
+L 4
+D 1
+L 4
+D 5
+L 5
+U 3
+L 2
+R 4
+L 5
+U 2
+L 1
+D 5
+U 2
+R 5
+L 1
+D 2
+R 3
+D 5
+U 2
+D 3
+R 4
+L 3
+R 5
+L 5
+U 3
+L 2
+D 5
+U 5
+R 4
+U 5
+D 5
+L 1
+D 4
+U 4
+L 4
+U 3
+D 3
+L 2
+R 1
+L 5
+D 3
+L 1
+U 4
+D 5
+L 5
+R 1
+U 4
+D 5
+U 3
+D 5
+L 1
+R 5
+L 1
+D 3
+L 2
+D 3
+L 2
+D 2
+U 3
+D 2
+L 3
+R 2
+U 3
+L 4
+D 4
+U 4
+D 4
+R 2
+D 3
+U 4
+D 6
+L 2
+D 4
+U 4
+L 2
+D 4
+U 1
+D 1
+U 1
+R 3
+U 3
+L 1
+U 6
+R 5
+L 1
+U 5
+L 2
+D 1
+U 3
+D 2
+U 3
+D 2
+R 2
+U 6
+L 5
+D 4
+L 2
+D 6
+U 5
+D 3
+R 2
+L 6
+U 5
+R 2
+U 3
+L 2
+R 3
+D 6
+U 5
+D 1
+R 5
+L 3
+U 5
+R 3
+L 5
+R 3
+L 4
+U 6
+D 3
+U 6
+L 3
+R 5
+U 6
+L 1
+D 5
+L 3
+R 5
+L 3
+D 4
+R 4
+D 6
+L 1
+R 4
+U 4
+D 4
+U 5
+D 6
+L 6
+R 2
+L 4
+D 3
+R 4
+U 5
+L 5
+D 4
+R 6
+D 6
+R 2
+U 4
+D 5
+L 6
+R 3
+U 6
+R 6
+D 3
+R 6
+L 1
+D 3
+U 2
+R 2
+D 2
+U 6
+D 4
+U 5
+D 1
+L 6
+U 2
+D 4
+R 2
+D 3
+U 4
+L 1
+D 2
+L 2
+U 2
+D 3
+L 5
+U 6
+L 5
+R 2
+L 2
+D 7
+R 2
+D 6
+U 5
+L 4
+U 2
+R 1
+D 1
+L 7
+D 4
+R 2
+D 6
+U 4
+L 1
+U 2
+R 4
+D 4
+R 3
+L 3
+U 4
+R 3
+L 2
+U 6
+D 1
+L 3
+U 6
+D 2
+R 2
+L 5
+U 7
+R 5
+L 2
+D 5
+U 4
+D 3
+L 1
+D 5
+L 5
+U 4
+R 1
+D 4
+L 2
+D 7
+L 7
+D 3
+U 4
+L 5
+D 3
+L 7
+R 3
+D 4
+L 5
+R 7
+L 2
+U 4
+R 5
+L 2
+R 2
+D 1
+R 1
+U 3
+R 4
+L 1
+U 4
+L 2
+R 1
+U 4
+D 7
+U 2
+D 2
+R 2
+L 3
+D 3
+R 1
+L 2
+R 2
+U 6
+R 1
+U 1
+R 7
+U 3
+D 2
+L 5
+U 7
+D 7
+U 3
+L 2
+U 7
+R 3
+D 3
+U 2
+D 5
+R 6
+D 5
+U 1
+R 7
+D 6
+R 6
+U 3
+L 1
+R 6
+D 6
+R 1
+L 6
+R 6
+D 7
+R 3
+L 5
+R 5
+D 4
+U 7
+L 8
+D 2
+U 3
+D 5
+L 4
+D 2
+R 1
+L 5
+D 8
+U 6
+R 2
+D 2
+L 2
+R 3
+L 2
+R 3
+L 6
+R 4
+U 6
+D 7
+R 6
+L 7
+U 5
+L 6
+R 6
+D 5
+R 5
+D 5
+L 4
+D 4
+U 7
+L 3
+U 7
+L 4
+U 8
+R 7
+D 4
+L 2
+D 6
+R 2
+U 3
+L 6
+D 1
+R 4
+U 8
+D 3
+U 2
+L 6
+R 1
+L 2
+U 4
+L 1
+R 1
+U 8
+D 2
+L 5
+D 6
+L 5
+R 2
+L 5
+U 6
+D 1
+L 7
+U 4
+D 5
+L 3
+R 5
+D 5
+R 3
+L 2
+D 3
+L 3
+D 5
+L 8
+R 7
+D 5
+L 2
+R 3
+U 5
+L 1
+D 6
+R 5
+L 6
+R 1
+U 1
+R 4
+L 6
+U 1
+D 6
+L 7
+D 8
+R 1
+L 5
+D 2
+R 2
+D 2
+R 7
+L 7
+U 7
+R 4
+D 5
+R 4
+U 8
+R 3
+D 6
+R 1
+D 1
+U 8
+D 4
+U 7
+R 3
+L 9
+D 3
+L 9
+U 1
+R 5
+D 4
+U 7
+L 4
+U 4
+L 7
+R 1
+D 8
+R 4
+L 4
+U 4
+L 8
+U 5
+L 7
+D 4
+L 9
+D 2
+U 3
+L 3
+D 5
+U 1
+L 1
+R 6
+D 2
+L 1
+D 2
+L 3
+U 4
+L 6
+U 3
+R 5
+L 3
+D 7
+U 6
+L 6
+D 9
+L 5
+U 1
+R 9
+U 4
+R 1
+L 5
+U 9
+R 6
+D 7
+U 9
+L 4
+U 6
+D 7
+U 8
+L 1
+U 8
+R 4
+L 2
+R 3
+D 1
+U 6
+D 9
+L 8
+U 8
+L 9
+D 4
+R 8
+L 1
+D 9
+L 1
+R 7
+D 8
+U 6
+D 8
+R 9
+U 2
+R 3
+U 7
+R 8
+D 5
+L 6
+U 3
+D 8
+R 2
+U 5
+L 5
+R 9
+D 4
+U 1
+D 6
+L 1
+U 3
+R 4
+L 5
+R 1
+L 9
+R 4
+D 1
+L 9
+D 4
+U 7
+R 2
+D 8
+L 9
+R 5
+L 5
+D 7
+L 6
+D 6
+L 10
+U 8
+L 6
+D 6
+R 9
+D 10
+L 5
+R 8
+D 2
+U 7
+R 4
+U 5
+R 3
+L 6
+D 10
+L 7
+D 7
+U 9
+L 6
+R 10
+U 2
+L 3
+U 10
+D 3
+R 10
+D 4
+L 9
+R 2
+L 8
+R 4
+D 7
+R 10
+D 2
+U 9
+D 2
+R 7
+D 10
+R 10
+D 7
+R 5
+D 5
+R 7
+U 7
+D 10
+U 5
+D 3
+R 5
+U 10
+L 3
+D 7
+R 7
+U 7
+L 4
+U 3
+R 3
+D 7
+L 7
+U 2
+D 4
+L 5
+R 3
+U 5
+D 6
+R 2
+D 4
+U 2
+D 6
+U 7
+D 2
+L 2
+U 6
+D 9
+U 3
+D 1
+U 5
+D 2
+R 3
+L 6
+D 8
+L 7
+R 5
+L 4
+U 6
+L 9
+R 5
+D 5
+U 4
+D 6
+U 5
+D 1
+U 8
+D 2
+L 4
+R 5
+L 3
+U 10
+L 1
+R 10
+U 4
+R 5
+D 4
+R 8
+U 5
+L 2
+R 10
+L 10
+U 4
+D 3
+U 3
+R 4
+D 8
+R 9
+L 5
+R 5
+D 10
+L 11
+D 10
+L 6
+R 11
+L 2
+R 7
+U 6
+R 9
+L 10
+D 3
+R 6
+D 7
+L 10
+U 7
+D 2
+L 4
+D 1
+L 8
+D 7
+L 10
+R 2
+U 7
+L 9
+R 1
+D 1
+L 11
+U 11
+D 3
+R 4
+D 4
+U 11
+L 6
+D 2
+L 7
+D 6
+U 8
+L 1
+R 11
+L 1
+U 3
+D 8
+L 4
+D 11
+U 8
+R 4
+D 1
+R 5
+D 9
+L 2
+D 1
+U 4
+R 7
+L 6
+D 5
+U 1
+L 8
+U 6
+R 10
+D 11
+U 3
+D 1
+U 7
+D 9
+R 8
+D 4
+R 11
+L 5
+D 8
+L 8
+U 1
+R 10
+U 9
+D 7
+R 1
+D 9
+U 1
+R 3
+D 11
+L 9
+D 1
+R 2
+U 5
+R 8
+U 1
+L 8
+D 11
+U 9
+L 8
+U 1
+R 1
+D 1
+R 10
+D 3
+R 8
+U 10
+D 2
+U 6
+D 5
+R 5
+D 10
+R 7
+L 1
+R 10
+U 1
+D 8
+R 7
+D 10
+R 8
+U 2
+L 12
+D 1
+R 6
+D 7
+U 11
+L 8
+R 12
+D 3
+U 12
+L 11
+D 2
+R 3
+L 6
+U 1
+R 2
+L 5
+R 2
+U 8
+L 11
+R 4
+L 2
+R 3
+D 12
+R 4
+U 8
+R 5
+D 6
+R 9
+D 8
+R 7
+D 10
+R 5
+U 4
+L 6
+D 1
+U 6
+D 7
+R 2
+L 2
+R 8
+L 12
+R 7
+L 9
+U 10
+D 2
+R 9
+L 2
+D 10
+U 8
+R 9
+L 7
+D 1
+L 8
+R 4
+L 6
+D 11
+R 2
+L 6
+D 1
+R 6
+D 2
+R 11
+U 9
+R 10
+U 8
+L 4
+D 12
+L 4
+D 7
+R 5
+L 11
+D 2
+U 7
+D 1
+L 10
+R 3
+L 5
+U 12
+R 5
+L 8
+R 6
+L 10
+D 9
+U 8
+R 3
+D 12
+L 4
+D 7
+U 3
+D 11
+U 2
+D 11
+R 7
+D 5
+U 2
+D 8
+U 7
+R 2
+U 5
+D 1
+R 10
+D 7
+L 7
+R 4
+L 1
+U 12
+L 12
+D 9
+R 7
+U 9
+R 5
+L 3
+R 2
+U 11
+D 1
+L 10
+D 11
+R 1
+D 7
+R 7
+D 9
+R 13
+D 7
+L 9
+D 9
+R 13
+D 7
+R 9
+D 10
+U 7
+R 5
+L 1
+U 8
+D 9
+U 10
+L 5
+U 4
+D 9
+U 1
+L 8
+D 3
+U 7
+D 6
+U 2
+D 8
+L 12
+U 2
+R 11
+L 10
+R 9
+D 4
+L 4
+U 2
+L 11
+U 11
+R 6
+D 7
+L 2
+D 6
+R 9
+L 7
+D 6
+L 12
+U 12
+D 5
+R 1
+L 11
+U 12
+L 4
+D 4
+R 12
+U 6
+R 4
+U 6
+R 3
+L 3
+R 10
+D 6
+R 9
+D 12
+U 6
+D 3
+U 13
+D 13
+U 2
+D 10
+R 6
+L 10
+R 10
+L 13
+U 6
+D 12
+R 8
+D 8
+U 6
+D 1
+L 7
+R 7
+U 5
+R 4
+U 2
+D 8
+L 11
+D 13
+L 10
+U 3
+L 8
+U 6
+D 5
+R 8
+D 12
+U 13
+L 10
+U 12
+R 10
+U 9
+L 3
+D 10
+U 3
+R 2
+L 8
+D 4
+U 12
+L 13
+R 14
+U 13
+R 4
+L 7
+D 5
+L 12
+D 4
+L 9
+R 12
+D 10
+U 11
+R 7
+D 3
+R 5
+D 13
+R 11
+D 8
+R 4
+L 3
+R 11
+L 5
+D 7
+U 2
+D 8
+L 12
+R 2
+D 10
+U 11
+D 6
+L 9
+D 8
+R 3
+D 9
+L 9
+D 6
+R 10
+U 5
+D 2
+R 9
+U 5
+D 7
+L 1
+D 14
+U 2
+R 14
+U 11
+D 4
+L 8
+R 8
+D 2
+L 3
+U 4
+R 2
+U 5
+R 6
+U 8
+R 2
+L 4
+D 1
+L 9
+U 13
+D 12
+R 7
+L 6
+R 10
+U 12
+L 14
+U 3
+L 6
+D 12
+R 13
+L 13
+U 5
+L 5
+R 6
+L 11
+R 7
+L 6
+D 14
+U 2
+D 12
+L 2
+R 9
+U 4
+L 14
+U 12
+R 12
+D 3
+L 5
+R 8
+D 10
+R 13
+D 6
+U 9
+R 10
+L 14
+D 4
+L 6
+D 8
+L 12
+U 10
+L 11
+D 3
+U 2
+R 2
+L 13
+R 6
+L 3
+R 14
+D 7
+R 3
+D 14
+R 3
+L 1
+D 15
+L 6
+U 6
+R 3
+D 12
+U 11
+R 10
+D 10
+L 2
+R 1
+U 7
+D 2
+L 7
+D 13
+R 9
+U 6
+R 6
+D 7
+R 3
+L 14
+R 2
+L 10
+D 13
+U 8
+R 3
+U 12
+R 10
+L 12
+R 11
+U 6
+L 13
+R 1
+D 14
+U 13
+D 13
+U 1
+L 10
+R 2
+D 4
+U 1
+L 7
+U 2
+D 9
+R 9
+U 7
+L 9
+D 7
+U 2
+R 1
+D 13
+U 3
+L 1
+U 3
+D 15
+U 6
+R 8
+L 6
+U 6
+L 8
+D 1
+U 4
+R 15
+L 13
+R 3
+L 15
+D 4
+R 10
+L 14
+U 2
+L 3
+R 7
+L 12
+R 15
+U 7
+D 2
+U 15
+R 12
+D 12
+L 6
+D 8
+R 5
+L 14
+R 8
+U 1
+D 5
+U 1
+L 3
+R 2
+U 9
+L 5
+U 8
+L 2
+U 1
+R 5
+D 3
+L 4
+R 15
+U 15
+L 6
+D 12
+U 9
+D 12
+U 9
+D 9
+L 16
+U 10
+D 4
+R 13
+D 4
+U 6
+L 1
+U 6
+R 12
+L 6
+D 8
+U 11
+D 9
+R 16
+U 14
+L 15
+U 15
+D 5
+R 6
+D 16
+R 1
+D 10
+L 5
+R 12
+L 1
+D 9
+U 9
+D 11
+L 9
+U 5
+R 11
+U 16
+L 6
+D 13
+L 3
+D 7
+U 1
+R 11
+D 6
+R 6
+U 7
+L 14
+R 2
+L 6
+U 8
+L 9
+R 3
+D 1
+L 13
+R 8
+L 14
+U 11
+D 13
+L 12
+U 8
+L 6
+U 13
+D 8
+U 8
+D 12
+R 7
+D 16
+U 4
+D 2
+L 6
+R 7
+U 1
+L 12
+R 13
+D 16
+L 3
+D 4
+R 15
+U 5
+R 1
+D 14
+L 1
+U 4
+L 14
+U 15
+R 14
+L 14
+R 16
+U 10
+L 4
+D 6
+U 5
+L 15
+U 8
+L 9
+R 12
+U 7
+R 4
+L 16
+U 10
+R 6
+U 14
+L 3
+D 13
+L 6
+U 12
+R 3
+L 16
+R 16
+U 8
+R 13
+U 7
+D 6
+R 3
+U 16
+L 2
+D 2
+R 17
+D 17
+R 3
+L 11
+R 12
+L 1
+R 17
+L 9
+U 2
+L 16
+D 16
+L 7
+R 2
+D 13
+U 1
+D 5
+L 5
+U 14
+D 13
+R 3
+U 5
+D 9
+L 9
+U 3
+L 2
+U 8
+L 5
+R 13
+L 8
+U 2
+R 6
+D 2
+L 9
+U 15
+R 14
+U 1
+R 11
+D 13
+U 9
+D 17
+R 14
+D 14
+R 7
+D 3
+L 1
+R 15
+D 13
+U 14
+R 3
+U 5
+D 15
+L 10
+R 10
+L 1
+R 16
+D 13
+L 17
+U 9
+R 1
+L 4
+U 4
+L 3
+R 10
+L 14
+U 17
+R 6
+L 17
+D 11
+R 5
+D 5
+U 1
+L 9
+U 7
+D 1
+U 6
+L 13
+U 6
+D 13
+R 17
+U 3
+D 5
+L 15
+U 3
+L 5
+R 12
+L 16
+U 8
+R 7
+U 16
+R 14
+U 17
+R 2
+U 6
+L 5
+U 17
+D 11
+U 3
+R 8
+D 5
+U 16
+R 1
+U 11
+L 15
+R 12
+L 5
+D 13
+L 16
+R 14
+L 15
+D 17
+L 6
+U 9
+R 18
+D 8
+U 6
+L 18
+U 11
+L 3
+U 18
+D 14
+L 17
+D 5
+L 15
+D 5
+L 12
+D 13
+U 9
+L 7
+R 11
+U 12
+L 4
+R 6
+U 7
+D 17
+U 13
+L 10
+U 15
+R 7
+L 2
+R 8
+L 7
+U 1
+R 17
+L 17
+D 4
+L 13
+R 2
+D 5
+U 3
+L 1
+U 2
+D 18
+L 3
+D 17
+R 6
+U 12
+D 11
+L 1
+R 10
+U 9
+D 7
+R 12
+U 11
+D 13
+L 11
+R 14
+U 6
+R 11
+L 13
+U 5
+D 15
+R 12
+U 10
+R 16
+D 16
+L 1
+U 18
+R 8
+L 8
+R 4
+L 18
+U 5
+R 15
+L 15
+U 13
+D 16
+R 4
+D 13
+R 6
+L 13
+D 1
+U 8
+R 13
+D 8
+L 17
+U 12
+R 2
+U 13
+L 6
+U 16
+L 15
+R 17
+D 1
+R 8
+D 9
+R 4
+U 11
+D 11
+L 12
+R 10
+U 2
+R 3
+D 7
+L 2
+U 8
+R 3
+D 4
+U 6
+L 8
+U 9
+R 7
+D 1
+U 12
+L 4
+U 13
+L 11
+D 14
+U 18
+L 17
+R 4
+L 19
+R 1
+D 12
+U 9
+R 11
+D 4
+U 15
+R 7
+D 6
+L 17
+D 4
+R 5
+U 11
+R 9
+L 4
+U 11
+R 10
+U 4
+D 19
+U 18
+D 12
+R 2
+L 15
+D 1
+R 13
+D 3
+R 5
+D 6
+U 11
+L 3
+D 5
+R 2
+D 15
+R 4
+U 19
+D 8
+L 11
+R 17
+U 7
+D 1
+U 2
+R 18
+L 10
+R 4
+D 7
+U 8
+L 1
+U 11
+L 15
+R 2
+U 13
+R 12
+L 8
+R 1
+U 4
+L 12
+R 13
+D 7
+U 5
+R 14
+U 13
+D 13
+L 18
+U 18
+R 14
+D 18
+U 12
+D 11
+U 6
+R 6
+U 5
+R 4
+D 7
+R 1
+U 5
+R 1
+D 1
+U 13
+D 10
+R 19
+D 7
+U 14
+D 7
+U 19
+R 12
+L 2
+D 12
+U 10
+D 17
+L 12
+U 1
+R 8
+L 8
+D 15
+R 9
+U 5
+R 11
+L 10
+R 2
+L 13
+U 10
+L 7
+U 1

+ 54 - 0
9.py

@@ -0,0 +1,54 @@
+lines = [(line[0], int(line[2:])) for line in open("9.input")]
+
+DIR = {'R': (0, 1), 'L': (0, -1), 'U': (-1, 0), 'D': (1, 0)}
+
+#SNEK_LEN = 2  # Part 1
+SNEK_LEN = 10  # Part 2
+snek = [(0, 0) for _ in range(0, SNEK_LEN)]
+
+def add(a, b):
+    return (a[0] + b[0], a[1] + b[1])
+
+def show_snek(snek):
+    for x in range(-20, 20):
+        for y in range(-20, 20):
+            if (x, y) in snek:
+                print("#", end='')
+            elif (x, y) == (0, 0):
+                print("s", end='')
+            else:
+                print(".", end='')
+        print("")
+
+visited = set()
+visited.add(snek[-1])
+
+for direction, steps in lines:
+    for _ in range(0, steps):
+        # Move head
+        snek[0] = add(snek[0], DIR[direction])
+
+        # Follow with tail
+        for head_idx in range(0, len(snek) - 1):
+            head = snek[head_idx]
+            tail = snek[head_idx+1]
+
+            follow = [0, 0]
+            follow[0] = head[0] - tail[0]
+            follow[1] = head[1] - tail[1]
+            dist = sum(map(abs, follow))
+            if dist >= 3:
+                follow[0] = follow[0] // abs(follow[0])
+                follow[1] = follow[1] // abs(follow[1])
+            elif abs(follow[0]) == 2:
+                follow[0] = follow[0] // 2
+            elif abs(follow[1]) == 2:
+                follow[1] = follow[1] // 2
+            else:
+                follow = [0, 0]
+
+            snek[head_idx+1] = add(snek[head_idx+1], follow)
+
+        visited.add(snek[-1])
+
+print(len(visited))