aboutsummaryrefslogtreecommitdiff
path: root/10/1.rkt
diff options
context:
space:
mode:
Diffstat (limited to '10/1.rkt')
-rw-r--r--10/1.rkt52
1 files changed, 26 insertions, 26 deletions
diff --git a/10/1.rkt b/10/1.rkt
index 3d9801c..7b1b8c5 100644
--- a/10/1.rkt
+++ b/10/1.rkt
@@ -16,12 +16,12 @@
(define (find-start)
(let loop ((x 0) (y 0))
(if (>= y height)
- #f
- (if (>= x width)
- (loop 0 (+ y 1))
- (if (char=? #\S (char-at x y))
- (cons x y)
- (loop (+ x 1) y))))))
+ #f
+ (if (>= x width)
+ (loop 0 (+ y 1))
+ (if (char=? #\S (char-at x y))
+ (cons x y)
+ (loop (+ x 1) y))))))
(define start (find-start))
@@ -37,18 +37,18 @@
(define down (cons (car start) (+ (cdr start) 1)))
(define left (cons (- (car start) 1) (cdr start)))
(define right (cons (+ (car start) 1) (cdr start)))
- (cond ((and (valid-pos? up)
- (member (char-at (car up) (cdr up)) (list #\| #\F #\7)))
- up)
- ((and (valid-pos? down)
- (member (char-at (car down) (cdr down)) (list #\| #\L #\J )))
- down)
- ((and (valid-pos? left)
- (member (char-at (car left) (cdr left)) (list #\- #\F #\L )))
- left)
- ((and (valid-pos? right)
- (member (char-at (car right) (cdr right)) (list #\- #\7 #\J)))
- right))))
+ (cond ((and (valid-pos? up)
+ (member (char-at (car up) (cdr up)) (list #\| #\F #\7)))
+ up)
+ ((and (valid-pos? down)
+ (member (char-at (car down) (cdr down)) (list #\| #\L #\J )))
+ down)
+ ((and (valid-pos? left)
+ (member (char-at (car left) (cdr left)) (list #\- #\F #\L )))
+ left)
+ ((and (valid-pos? right)
+ (member (char-at (car right) (cdr right)) (list #\- #\7 #\J)))
+ right))))
(define (next cur recent)
(define up (cons (car cur) (- (cdr cur) 1)))
@@ -65,19 +65,19 @@
((char=? c #\J) (list up left))))
(let loop ((cur possible-pos))
(if (not (equal? (car cur) recent))
- (car cur)
- (loop (cdr cur)))))
+ (car cur)
+ (loop (cdr cur)))))
(define (simulate)
(let loop ((i 0) (cur first-pos) (recent start))
(if (equal? cur start)
- i
- (let ()
- (define next-loc (next cur recent))
- (loop (+ i 1) next-loc cur)))))
+ i
+ (let ()
+ (define next-loc (next cur recent))
+ (loop (+ i 1) next-loc cur)))))
(define loop-length (simulate))
(if (= 0 (modulo loop-length 2))
- (/ loop-length 2)
- (+ 1 (quotient loop-length 2)))
+ (/ loop-length 2)
+ (+ 1 (quotient loop-length 2)))