@@ -4,11 +4,11 @@ struct Region {
4
4
id rune
5
5
mut :
6
6
area i64
7
- perimiter []Perimiter
8
- sides []Perimiter
7
+ perimeter []Perimeter
8
+ sides []Perimeter
9
9
}
10
10
11
- struct Perimiter {
11
+ struct Perimeter {
12
12
p Point
13
13
d Vector
14
14
}
@@ -49,7 +49,7 @@ fn check_cell(mut region &Region, mut visited [][]bool, grid []string, row int,
49
49
}
50
50
} else {
51
51
// edge detected
52
- region.perimiter << Perimiter {
52
+ region.perimeter << Perimeter {
53
53
p: Point{
54
54
y: row
55
55
x: col
@@ -61,8 +61,8 @@ fn check_cell(mut region &Region, mut visited [][]bool, grid []string, row int,
61
61
}
62
62
}
63
63
} else {
64
- // grid border, add to perimiter
65
- region.perimiter << Perimiter {
64
+ // grid border, add to perimeter
65
+ region.perimeter << Perimeter {
66
66
p: Point{
67
67
y: row
68
68
x: col
@@ -108,21 +108,21 @@ fn main() {
108
108
mut price := i64 (0 )
109
109
mut price2 := i64 (0 )
110
110
for mut r in regions {
111
- price + = r.area * r.perimiter .len
111
+ price + = r.area * r.perimeter .len
112
112
113
- mut new_set := []Perimiter {}
114
- for per in r.perimiter {
115
- new_set << Perimiter {
113
+ mut new_set := []Perimeter {}
114
+ for per in r.perimeter {
115
+ new_set << Perimeter {
116
116
p: Point{
117
117
y: per.p.y - per.d.dx
118
118
x: per.p.x + per.d.dy
119
119
}
120
120
d: per.d
121
121
}
122
122
}
123
- r.sides = set_subtract (r.perimiter , new_set)
123
+ r.sides = set_subtract (r.perimeter , new_set)
124
124
price2 + = r.area * r.sides.len
125
- // println('Region: ${r.id} (Area ${r.area}, Perimiter ${r.perimiter .len}, Sides ${r.sides.len})')
125
+ // println('Region: ${r.id} (Area ${r.area}, Perimeter ${r.perimeter .len}, Sides ${r.sides.len})')
126
126
}
127
127
println ('Part 1 total price: ${price} ' )
128
128
println ('Part 2 total price: ${price2} ' )
0 commit comments