|
@@ -8,36 +8,35 @@ import (
|
|
|
"strconv"
|
|
"strconv"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-func main() {
|
|
|
|
|
- nb_occ_zero := 0
|
|
|
|
|
|
|
+func main() {
|
|
|
|
|
+ nb_occ_zero := 0
|
|
|
lock_num := 50
|
|
lock_num := 50
|
|
|
direction := 1
|
|
direction := 1
|
|
|
- var nb_ticks int;
|
|
|
|
|
- var instruction string
|
|
|
|
|
|
|
+ var nb_ticks int
|
|
|
|
|
+ var instruction string
|
|
|
f, err := os.Open("1/input")
|
|
f, err := os.Open("1/input")
|
|
|
- if err != nil{
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
log.Fatal(err)
|
|
log.Fatal(err)
|
|
|
}
|
|
}
|
|
|
defer f.Close()
|
|
defer f.Close()
|
|
|
scanner := bufio.NewScanner(f)
|
|
scanner := bufio.NewScanner(f)
|
|
|
|
|
|
|
|
// We read input line by line
|
|
// We read input line by line
|
|
|
- for scanner.Scan(){
|
|
|
|
|
|
|
+ for scanner.Scan() {
|
|
|
instruction = scanner.Text()
|
|
instruction = scanner.Text()
|
|
|
- switch (instruction[0]){
|
|
|
|
|
- case 'L':
|
|
|
|
|
|
|
+ switch instruction[0] {
|
|
|
|
|
+ case 'L':
|
|
|
direction = -1
|
|
direction = -1
|
|
|
- case 'R':
|
|
|
|
|
|
|
+ case 'R':
|
|
|
direction = 1
|
|
direction = 1
|
|
|
- default:
|
|
|
|
|
|
|
+ default:
|
|
|
panic("unrecognized instruction")
|
|
panic("unrecognized instruction")
|
|
|
}
|
|
}
|
|
|
nb_ticks, err = strconv.Atoi(instruction[1:])
|
|
nb_ticks, err = strconv.Atoi(instruction[1:])
|
|
|
- if err != nil{
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
log.Fatal(err)
|
|
log.Fatal(err)
|
|
|
}
|
|
}
|
|
|
- lock_num = (lock_num + direction * nb_ticks) % 100
|
|
|
|
|
|
|
+ lock_num = (lock_num + direction*nb_ticks) % 100
|
|
|
if lock_num < 0 {
|
|
if lock_num < 0 {
|
|
|
lock_num = lock_num + 100
|
|
lock_num = lock_num + 100
|
|
|
}
|
|
}
|