cem 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/aoc2018/.gitignore +2 -0
- data/examples/aoc2018/day10.rb +61 -0
- data/examples/aoc2018/day11.rb +66 -0
- data/examples/aoc2018/day12.rb +61 -0
- data/examples/aoc2018/day13.rb +167 -0
- data/examples/aoc2018/day14.rb +31 -0
- data/examples/aoc2018/day14_2.rb +71 -0
- data/examples/aoc2018/day15.rb +271 -0
- data/examples/aoc2018/day16.rb +158 -0
- data/examples/aoc2018/day17.rb +203 -0
- data/examples/aoc2018/day18.rb +113 -0
- data/examples/aoc2018/day18_rspec.rb +131 -0
- data/examples/aoc2018/day19.rb +145 -0
- data/examples/aoc2018/day20.rb +103 -0
- data/examples/aoc2018/day21.rb +158 -0
- data/examples/aoc2018/day21_v2.rb +137 -0
- data/examples/aoc2018/day21_v3.rb +157 -0
- data/examples/aoc2018/day21_v4.rb +141 -0
- data/examples/aoc2018/day22.rb +212 -0
- data/examples/aoc2018/day23.rb +148 -0
- data/examples/aoc2018/day24.rb +156 -0
- data/examples/aoc2018/day25.rb +52 -0
- data/examples/aoc2018/day9.rb +51 -0
- data/examples/aoc2018/day9_circular.rb +125 -0
- data/examples/aoc2018/inputs/day10_input.txt +395 -0
- data/examples/aoc2018/inputs/day11_input.txt +1 -0
- data/examples/aoc2018/inputs/day12_input.txt +34 -0
- data/examples/aoc2018/inputs/day12_input2.txt +16 -0
- data/examples/aoc2018/inputs/day13_input.txt +150 -0
- data/examples/aoc2018/inputs/day13_test.txt +6 -0
- data/examples/aoc2018/inputs/day14_input.txt +1 -0
- data/examples/aoc2018/inputs/day15_input.txt +32 -0
- data/examples/aoc2018/inputs/day15_input10.txt +32 -0
- data/examples/aoc2018/inputs/day15_input11.txt +32 -0
- data/examples/aoc2018/inputs/day15_input12.txt +32 -0
- data/examples/aoc2018/inputs/day15_input13.txt +32 -0
- data/examples/aoc2018/inputs/day15_input14.txt +32 -0
- data/examples/aoc2018/inputs/day15_input2.txt +7 -0
- data/examples/aoc2018/inputs/day15_input3.txt +9 -0
- data/examples/aoc2018/inputs/day15_input4.txt +7 -0
- data/examples/aoc2018/inputs/day15_input5.txt +7 -0
- data/examples/aoc2018/inputs/day15_input6.txt +7 -0
- data/examples/aoc2018/inputs/day15_input7.txt +7 -0
- data/examples/aoc2018/inputs/day15_input8.txt +5 -0
- data/examples/aoc2018/inputs/day15_input9.txt +7 -0
- data/examples/aoc2018/inputs/day15_test.txt +9 -0
- data/examples/aoc2018/inputs/day16_input.txt +3865 -0
- data/examples/aoc2018/inputs/day17_input.txt +2229 -0
- data/examples/aoc2018/inputs/day17_input_test.txt +8 -0
- data/examples/aoc2018/inputs/day18_input.txt +50 -0
- data/examples/aoc2018/inputs/day18_test.txt +10 -0
- data/examples/aoc2018/inputs/day19_input.txt +48 -0
- data/examples/aoc2018/inputs/day20_input.txt +1 -0
- data/examples/aoc2018/inputs/day21_input.txt +32 -0
- data/examples/aoc2018/inputs/day22_input.txt +2 -0
- data/examples/aoc2018/inputs/day23_input.txt +1000 -0
- data/examples/aoc2018/inputs/day23_input2.txt +9 -0
- data/examples/aoc2018/inputs/day24_input.txt +24 -0
- data/examples/aoc2018/inputs/day25_input.txt +1483 -0
- data/examples/aoc2018/inputs/day9_input.txt +1 -0
- data/lib/cem.rb +0 -6
- data/lib/cem/ccommon.rb +45 -0
- data/lib/cem/cruzzles.rb +93 -38
- data/lib/cem/version.rb +1 -1
- metadata +62 -2
@@ -0,0 +1,156 @@
|
|
1
|
+
#
|
2
|
+
# https://adventofcode.com/2018/day/24 part 1 and 2
|
3
|
+
#
|
4
|
+
# Does not use any cem functions
|
5
|
+
#
|
6
|
+
|
7
|
+
Group = Struct.new("Group", :immuneSystem, :units, :hitPoints, :weakness, :immunities, :damage, :damageType, :initiative) {
|
8
|
+
|
9
|
+
def damageCalc(other)
|
10
|
+
damage * units * (other.immunities.include?(damageType) ? 0 : 1) * (other.weakness.include?(damageType) ? 2 : 1)
|
11
|
+
end
|
12
|
+
|
13
|
+
def effectivePow
|
14
|
+
damage * units
|
15
|
+
end
|
16
|
+
}
|
17
|
+
|
18
|
+
lines = File.readlines("inputs/day24_input.txt")
|
19
|
+
|
20
|
+
groups = []
|
21
|
+
immuneSystem = false
|
22
|
+
|
23
|
+
lines.each { |line|
|
24
|
+
line.strip!
|
25
|
+
|
26
|
+
if line =~ /^Immune System:$/
|
27
|
+
immuneSystem = true
|
28
|
+
elsif line =~ /^Infection:$/
|
29
|
+
immuneSystem = false
|
30
|
+
elsif line =~ /^([+-]?\d+) units each with ([+-]?\d+) hit points\s*(.*?) with an attack that does ([+-]?\d+) (\w+) damage at initiative ([+-]?\d+)$/
|
31
|
+
units = $1.to_i
|
32
|
+
hitPoints = $2.to_i
|
33
|
+
immunities = []
|
34
|
+
weakness = []
|
35
|
+
w = $3
|
36
|
+
damage = $4.to_i
|
37
|
+
damageType = $5
|
38
|
+
initiative = $6.to_i
|
39
|
+
|
40
|
+
w.gsub(/\(|\)/, "").split("; ").each { |s|
|
41
|
+
if s =~ /immune to (.*)/
|
42
|
+
immunities = $1.split(", ")
|
43
|
+
end
|
44
|
+
if s =~ /weak to (.*)/
|
45
|
+
weakness = $1.split(", ")
|
46
|
+
end
|
47
|
+
}
|
48
|
+
|
49
|
+
g = Group.new(immuneSystem, units, hitPoints, weakness, immunities, damage, damageType, initiative)
|
50
|
+
groups << g
|
51
|
+
# puts g.inspect
|
52
|
+
elsif line == ""
|
53
|
+
|
54
|
+
else
|
55
|
+
raise line.inspect
|
56
|
+
end
|
57
|
+
}
|
58
|
+
|
59
|
+
def run(groups)
|
60
|
+
|
61
|
+
max_init = groups.map { |g| g.initiative }.max + 1
|
62
|
+
|
63
|
+
@max_init = max_init
|
64
|
+
|
65
|
+
round = 0
|
66
|
+
|
67
|
+
while groups.count { |g| g.immuneSystem } != 0 && groups.count { |g| !g.immuneSystem } != 0
|
68
|
+
|
69
|
+
anyDamage = false
|
70
|
+
|
71
|
+
groups.sort_by! { |g| [-g.damage * g.units, -g.initiative] }
|
72
|
+
|
73
|
+
# Target Selection
|
74
|
+
attackedGroups = []
|
75
|
+
attackPairs = []
|
76
|
+
groups.each { |g|
|
77
|
+
others = groups.select { |other| g.immuneSystem != other.immuneSystem && !attackedGroups.include?(other) }
|
78
|
+
|
79
|
+
groupToAttack = others.sort_by { |other| [-g.damageCalc(other), -other.damage * other.units, -other.initiative] }.first
|
80
|
+
|
81
|
+
if groupToAttack && g.damageCalc(groupToAttack) != 0
|
82
|
+
attackedGroups << groupToAttack
|
83
|
+
attackPairs << [g, groupToAttack]
|
84
|
+
end
|
85
|
+
}
|
86
|
+
|
87
|
+
attackPairs.sort_by! { |x| -x[0].initiative }
|
88
|
+
|
89
|
+
# Attack phase
|
90
|
+
attackPairs.each { |x|
|
91
|
+
from, to = x
|
92
|
+
damage = from.damageCalc(to)
|
93
|
+
|
94
|
+
killedUnits = damage / to.hitPoints
|
95
|
+
if killedUnits > 0
|
96
|
+
anyDamage = true
|
97
|
+
end
|
98
|
+
to.units -= killedUnits
|
99
|
+
|
100
|
+
if to.units <= 0
|
101
|
+
to.units = 0
|
102
|
+
groups = groups - [to]
|
103
|
+
end
|
104
|
+
}
|
105
|
+
|
106
|
+
groups.sort_by! { |g| -(g.immuneSystem ? 1 : 0) * 100000000000 - (g.damage * g.units * max_init + g.initiative)}
|
107
|
+
|
108
|
+
# puts round
|
109
|
+
round += 1
|
110
|
+
# system("cls") if round % 1024 == 0
|
111
|
+
# groups.each { |g| puts g.inspect } if round % 1024 == 0
|
112
|
+
|
113
|
+
if !anyDamage
|
114
|
+
groups.each { |g| puts g.inspect }
|
115
|
+
return
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
groups
|
120
|
+
end
|
121
|
+
|
122
|
+
tempGroup = groups.map { |g| g.dup }
|
123
|
+
|
124
|
+
puts "Part 1: #{run(tempGroup).sum{|g| g.units }}"
|
125
|
+
|
126
|
+
def part2(groups)
|
127
|
+
|
128
|
+
minAdd = 1
|
129
|
+
|
130
|
+
loop do
|
131
|
+
|
132
|
+
tempGroup = groups.map { |g| g.dup }
|
133
|
+
|
134
|
+
tempGroup.each { |g|
|
135
|
+
if g.immuneSystem
|
136
|
+
g.damage += minAdd
|
137
|
+
end
|
138
|
+
}
|
139
|
+
|
140
|
+
res = run(tempGroup)
|
141
|
+
|
142
|
+
if res == nil
|
143
|
+
puts "Boost: #{minAdd} - Got stuck"
|
144
|
+
else
|
145
|
+
puts "Boost: #{minAdd} - #{res[0].immuneSystem}"
|
146
|
+
|
147
|
+
if res[0].immuneSystem
|
148
|
+
return res
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
minAdd += 1
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
puts "Part 2: #{part2(groups).sum { |g| g.units }}"
|
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# https://adventofcode.com/2018/day/25 part 1 (there is only 1
|
4
|
+
#
|
5
|
+
# Uses Point4D, but not much to see here.
|
6
|
+
#
|
7
|
+
require 'cem'
|
8
|
+
|
9
|
+
lines = File.readlines("inputs/day25_input.txt")
|
10
|
+
|
11
|
+
input = []
|
12
|
+
|
13
|
+
lines.each { |line|
|
14
|
+
|
15
|
+
if line =~ /^\s*([+-]?\d+),([+-]?\d+),([+-]?\d+),([+-]?\d+)\s*$/
|
16
|
+
v1 = $1.to_i
|
17
|
+
v2 = $2.to_i
|
18
|
+
v3 = $3.to_i
|
19
|
+
v4 = $4.to_i
|
20
|
+
input << Point4D.new(v1,v2,v3,v4)
|
21
|
+
else
|
22
|
+
raise line.inspect
|
23
|
+
end
|
24
|
+
}
|
25
|
+
|
26
|
+
constellations = []
|
27
|
+
|
28
|
+
input.each { |p|
|
29
|
+
if c = constellations.find { |c| c.any? { |p2| p2.manhattan(p) <= 3 } }
|
30
|
+
c << p
|
31
|
+
else
|
32
|
+
constellations << [p]
|
33
|
+
end
|
34
|
+
}
|
35
|
+
|
36
|
+
loop do
|
37
|
+
count = constellations.count { |c| c.size > 0 }
|
38
|
+
|
39
|
+
constellations.each_with_index { |c,i|
|
40
|
+
constellations.each_with_index { |d,j|
|
41
|
+
next if j <= i
|
42
|
+
if c.any? { |p| d.any? { |p2| p2.manhattan(p) <= 3 } }
|
43
|
+
c.push(*d)
|
44
|
+
d.clear
|
45
|
+
end
|
46
|
+
}
|
47
|
+
}
|
48
|
+
break if count == constellations.count { |c| c.size > 0 }
|
49
|
+
end
|
50
|
+
|
51
|
+
puts "Part 1: #{constellations.count { |c| c.size > 0 }}"
|
52
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# https://adventofcode.com/2018/day/9 part 1 and part 2
|
4
|
+
#
|
5
|
+
# Does not use any cem functions \o/, but did you know that
|
6
|
+
# - Array#shift is supposed to be fast, but is not fast enough for this problem?
|
7
|
+
#
|
8
|
+
|
9
|
+
players = 428
|
10
|
+
marbles = 70825
|
11
|
+
|
12
|
+
def day9(players, marbles)
|
13
|
+
|
14
|
+
scores = [0] * players
|
15
|
+
|
16
|
+
nexta = 3
|
17
|
+
storage = [0, 2, 1]
|
18
|
+
current = 1
|
19
|
+
front = 0
|
20
|
+
|
21
|
+
while nexta < marbles
|
22
|
+
|
23
|
+
if nexta % 23 == 0
|
24
|
+
|
25
|
+
current = (current + storage.size - 7) % storage.size
|
26
|
+
worth = nexta + storage.delete_at(current)
|
27
|
+
scores[nexta % players] += worth
|
28
|
+
|
29
|
+
else
|
30
|
+
|
31
|
+
# Avoid wrapping the index
|
32
|
+
while current + 2 > storage.size
|
33
|
+
front_value = storage[front]
|
34
|
+
front += 1
|
35
|
+
storage.push front_value
|
36
|
+
end
|
37
|
+
|
38
|
+
current += 2
|
39
|
+
storage.insert(current, nexta)
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
nexta += 1
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
return scores.max
|
48
|
+
end
|
49
|
+
|
50
|
+
puts "One Star : #{day9(players, marbles)}"
|
51
|
+
puts "Two Stars: #{day9(players, marbles * 100)}"
|
@@ -0,0 +1,125 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# https://adventofcode.com/2018/day/9 part 1 and part 2
|
4
|
+
#
|
5
|
+
# Does not use any cem functions \o/
|
6
|
+
#
|
7
|
+
# Unfinished attempt to develop a circular array
|
8
|
+
#
|
9
|
+
|
10
|
+
players = 428
|
11
|
+
marbles = 7082500
|
12
|
+
|
13
|
+
#players = 10
|
14
|
+
#marbles = 1618
|
15
|
+
|
16
|
+
scores = [0] * 428
|
17
|
+
|
18
|
+
nexta = 3
|
19
|
+
lasta = 0
|
20
|
+
storage = [1, 2, 1]
|
21
|
+
current = 1
|
22
|
+
|
23
|
+
#
|
24
|
+
#
|
25
|
+
# Caveats:
|
26
|
+
# - When writing to indices greater than @size, the CircularArray does not expand, but the index wraps.
|
27
|
+
#
|
28
|
+
class CircularArray
|
29
|
+
|
30
|
+
attr_accessor :data
|
31
|
+
attr_reader :size, :start
|
32
|
+
|
33
|
+
def initialize(initialSize)
|
34
|
+
@data = Array.new(initialSize)
|
35
|
+
@size = 0
|
36
|
+
end
|
37
|
+
|
38
|
+
def index(index)
|
39
|
+
return (@start + index) % @size
|
40
|
+
end
|
41
|
+
|
42
|
+
def [](i)
|
43
|
+
return @data[index(i)]
|
44
|
+
end
|
45
|
+
|
46
|
+
def []=(i, newValue)
|
47
|
+
@data[index(i)] = newValue
|
48
|
+
end
|
49
|
+
|
50
|
+
def each
|
51
|
+
(0..@size).each do |x|
|
52
|
+
yield self[x]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def each_with_index
|
57
|
+
(0..@size).each do |x|
|
58
|
+
yield self[x], x
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def <<(newValue)
|
63
|
+
if @size == @data.size
|
64
|
+
@data.insert(index(@size) + 1, [nil] * @size)
|
65
|
+
end
|
66
|
+
|
67
|
+
@data[index(@size)] = newValue
|
68
|
+
@size += 1
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
while nexta < marbles
|
76
|
+
|
77
|
+
if nexta / 1000 != lasta
|
78
|
+
lasta = nexta / 1000
|
79
|
+
puts lasta * 1000
|
80
|
+
end
|
81
|
+
|
82
|
+
n = storage.size
|
83
|
+
if nexta % 23 == 0
|
84
|
+
|
85
|
+
current = (current + n - 7) % n
|
86
|
+
worth = nexta + storage.delete_at(current)
|
87
|
+
scores[nexta % players] += worth
|
88
|
+
|
89
|
+
if worth == marbles
|
90
|
+
break;
|
91
|
+
end
|
92
|
+
|
93
|
+
else
|
94
|
+
|
95
|
+
if nexta % 23 == 1 && current + 46 < n && nexta + 22 < marbles
|
96
|
+
|
97
|
+
current += 2
|
98
|
+
|
99
|
+
storage.insert(current, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
100
|
+
(0..21).each { |i|
|
101
|
+
|
102
|
+
# puts storage[current..current + 40].inspect
|
103
|
+
|
104
|
+
storage[current + i * 2] = nexta
|
105
|
+
nexta += 1
|
106
|
+
storage[current + i * 2 + 1] = storage[current + 20 + i]
|
107
|
+
|
108
|
+
|
109
|
+
}
|
110
|
+
current += 42
|
111
|
+
nexta -= 1
|
112
|
+
|
113
|
+
else
|
114
|
+
current = (current + 2) % n
|
115
|
+
storage.insert(current, nexta)
|
116
|
+
end
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
nexta += 1
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
|
125
|
+
puts scores.max
|
@@ -0,0 +1,395 @@
|
|
1
|
+
position=<-41214, -10223> velocity=< 4, 1>
|
2
|
+
position=< 41635, -10215> velocity=<-4, 1>
|
3
|
+
position=<-51569, 20845> velocity=< 5, -2>
|
4
|
+
position=<-30826, 20850> velocity=< 3, -2>
|
5
|
+
position=< 31249, -30930> velocity=<-3, 3>
|
6
|
+
position=<-30862, -20578> velocity=< 3, 2>
|
7
|
+
position=<-20528, -30930> velocity=< 2, 3>
|
8
|
+
position=< 52013, -51642> velocity=<-5, 5>
|
9
|
+
position=<-20491, 41552> velocity=< 2, -4>
|
10
|
+
position=<-41218, 31200> velocity=< 4, -3>
|
11
|
+
position=< 31271, -10216> velocity=<-3, 1>
|
12
|
+
position=< 52010, 51915> velocity=<-5, -5>
|
13
|
+
position=< 41634, -30933> velocity=<-4, 3>
|
14
|
+
position=<-30826, 41551> velocity=< 3, -4>
|
15
|
+
position=<-20499, 31199> velocity=< 2, -3>
|
16
|
+
position=< 20953, 41559> velocity=<-2, -4>
|
17
|
+
position=<-51576, -41285> velocity=< 5, 4>
|
18
|
+
position=<-20523, 51906> velocity=< 2, -5>
|
19
|
+
position=< 10593, 51914> velocity=<-1, -5>
|
20
|
+
position=<-51593, 31204> velocity=< 5, -3>
|
21
|
+
position=< 20893, -30930> velocity=<-2, 3>
|
22
|
+
position=< 20929, 20843> velocity=<-2, -2>
|
23
|
+
position=< 51985, 20845> velocity=<-5, -2>
|
24
|
+
position=<-51534, -10215> velocity=< 5, 1>
|
25
|
+
position=<-41222, 51908> velocity=< 4, -5>
|
26
|
+
position=<-30859, 51914> velocity=< 3, -5>
|
27
|
+
position=<-30874, 51906> velocity=< 3, -5>
|
28
|
+
position=<-10129, -10220> velocity=< 1, 1>
|
29
|
+
position=<-41198, 31203> velocity=< 4, -3>
|
30
|
+
position=<-41238, 20847> velocity=< 4, -2>
|
31
|
+
position=<-10141, 20850> velocity=< 1, -2>
|
32
|
+
position=< 41661, 51915> velocity=<-4, -5>
|
33
|
+
position=<-41230, 31202> velocity=< 4, -3>
|
34
|
+
position=< 10561, -20578> velocity=<-1, 2>
|
35
|
+
position=<-30835, 20848> velocity=< 3, -2>
|
36
|
+
position=<-20467, -30926> velocity=< 2, 3>
|
37
|
+
position=<-51561, 31202> velocity=< 5, -3>
|
38
|
+
position=< 20900, -41280> velocity=<-2, 4>
|
39
|
+
position=< 10588, 31198> velocity=<-1, -3>
|
40
|
+
position=<-30854, 41551> velocity=< 3, -4>
|
41
|
+
position=< 31263, 10488> velocity=<-3, -1>
|
42
|
+
position=<-10117, 10490> velocity=< 1, -1>
|
43
|
+
position=<-51569, 20843> velocity=< 5, -2>
|
44
|
+
position=< 20928, -51640> velocity=<-2, 5>
|
45
|
+
position=< 10537, -10221> velocity=<-1, 1>
|
46
|
+
position=<-41201, -41286> velocity=< 4, 4>
|
47
|
+
position=<-10141, -20572> velocity=< 1, 2>
|
48
|
+
position=< 20908, -30929> velocity=<-2, 3>
|
49
|
+
position=<-20512, 51911> velocity=< 2, -5>
|
50
|
+
position=<-30835, -10224> velocity=< 3, 1>
|
51
|
+
position=< 41610, -10219> velocity=<-4, 1>
|
52
|
+
position=< 10537, 20849> velocity=<-1, -2>
|
53
|
+
position=< 41644, -20579> velocity=<-4, 2>
|
54
|
+
position=< 51990, -41289> velocity=<-5, 4>
|
55
|
+
position=< 10569, -20571> velocity=<-1, 2>
|
56
|
+
position=< 20905, 41559> velocity=<-2, -4>
|
57
|
+
position=< 20940, 20843> velocity=<-2, -2>
|
58
|
+
position=<-20512, 20843> velocity=< 2, -2>
|
59
|
+
position=<-41202, 51915> velocity=< 4, -5>
|
60
|
+
position=<-10173, 51911> velocity=< 1, -5>
|
61
|
+
position=<-41230, -10220> velocity=< 4, 1>
|
62
|
+
position=< 31279, 31205> velocity=<-3, -3>
|
63
|
+
position=<-41226, 10492> velocity=< 4, -1>
|
64
|
+
position=<-51577, -41280> velocity=< 5, 4>
|
65
|
+
position=<-10125, 20846> velocity=< 1, -2>
|
66
|
+
position=< 41658, 20845> velocity=<-4, -2>
|
67
|
+
position=< 31274, 41555> velocity=<-3, -4>
|
68
|
+
position=<-10117, 51913> velocity=< 1, -5>
|
69
|
+
position=< 31287, 51910> velocity=<-3, -5>
|
70
|
+
position=< 10545, -20576> velocity=<-1, 2>
|
71
|
+
position=<-20520, 51913> velocity=< 2, -5>
|
72
|
+
position=<-20528, -10216> velocity=< 2, 1>
|
73
|
+
position=<-41180, -20579> velocity=< 4, 2>
|
74
|
+
position=< 10561, -41283> velocity=<-1, 4>
|
75
|
+
position=< 31252, 51909> velocity=<-3, -5>
|
76
|
+
position=<-30822, -30927> velocity=< 3, 3>
|
77
|
+
position=< 20929, -41281> velocity=<-2, 4>
|
78
|
+
position=<-51553, 10489> velocity=< 5, -1>
|
79
|
+
position=<-30883, -41287> velocity=< 3, 4>
|
80
|
+
position=<-30846, 10487> velocity=< 3, -1>
|
81
|
+
position=< 10594, 10495> velocity=<-1, -1>
|
82
|
+
position=< 10547, 31200> velocity=<-1, -3>
|
83
|
+
position=< 41658, -10216> velocity=<-4, 1>
|
84
|
+
position=<-51585, 41553> velocity=< 5, -4>
|
85
|
+
position=<-41198, -20579> velocity=< 4, 2>
|
86
|
+
position=<-10168, -10223> velocity=< 1, 1>
|
87
|
+
position=<-30851, -20575> velocity=< 3, 2>
|
88
|
+
position=< 10574, -41283> velocity=<-1, 4>
|
89
|
+
position=< 31260, 20849> velocity=<-3, -2>
|
90
|
+
position=< 41607, -51636> velocity=<-4, 5>
|
91
|
+
position=< 20944, 10494> velocity=<-2, -1>
|
92
|
+
position=< 31255, -10223> velocity=<-3, 1>
|
93
|
+
position=<-20510, 51906> velocity=< 2, -5>
|
94
|
+
position=<-30851, -41286> velocity=< 3, 4>
|
95
|
+
position=<-41198, -51636> velocity=< 4, 5>
|
96
|
+
position=<-41190, 41553> velocity=< 4, -4>
|
97
|
+
position=<-10170, -30930> velocity=< 1, 3>
|
98
|
+
position=<-41233, 20848> velocity=< 4, -2>
|
99
|
+
position=< 31255, 31197> velocity=<-3, -3>
|
100
|
+
position=<-30843, 10488> velocity=< 3, -1>
|
101
|
+
position=< 20948, 10492> velocity=<-2, -1>
|
102
|
+
position=<-41206, -51639> velocity=< 4, 5>
|
103
|
+
position=<-10161, -30928> velocity=< 1, 3>
|
104
|
+
position=< 31308, 20848> velocity=<-3, -2>
|
105
|
+
position=<-10149, -30934> velocity=< 1, 3>
|
106
|
+
position=<-10165, 20841> velocity=< 1, -2>
|
107
|
+
position=< 20948, -51642> velocity=<-2, 5>
|
108
|
+
position=<-41222, -51637> velocity=< 4, 5>
|
109
|
+
position=<-30823, 51914> velocity=< 3, -5>
|
110
|
+
position=< 41642, -20574> velocity=<-4, 2>
|
111
|
+
position=<-20523, -41280> velocity=< 2, 4>
|
112
|
+
position=< 10589, 41559> velocity=<-1, -4>
|
113
|
+
position=< 10577, -41283> velocity=<-1, 4>
|
114
|
+
position=< 20900, -30934> velocity=<-2, 3>
|
115
|
+
position=<-30851, -51635> velocity=< 3, 5>
|
116
|
+
position=< 31249, 10490> velocity=<-3, -1>
|
117
|
+
position=< 51992, -41280> velocity=<-5, 4>
|
118
|
+
position=<-30833, -20576> velocity=< 3, 2>
|
119
|
+
position=<-20509, -41285> velocity=< 2, 4>
|
120
|
+
position=< 41607, 51907> velocity=<-4, -5>
|
121
|
+
position=<-20485, -51639> velocity=< 2, 5>
|
122
|
+
position=<-20523, 31196> velocity=< 2, -3>
|
123
|
+
position=< 10585, 41558> velocity=<-1, -4>
|
124
|
+
position=< 41653, -30927> velocity=<-4, 3>
|
125
|
+
position=< 20900, -41285> velocity=<-2, 4>
|
126
|
+
position=< 31276, -20573> velocity=<-3, 2>
|
127
|
+
position=<-10117, 41555> velocity=< 1, -4>
|
128
|
+
position=<-10133, 51910> velocity=< 1, -5>
|
129
|
+
position=< 31249, 10490> velocity=<-3, -1>
|
130
|
+
position=< 31295, 10492> velocity=<-3, -1>
|
131
|
+
position=<-30843, -20570> velocity=< 3, 2>
|
132
|
+
position=<-30827, -20572> velocity=< 3, 2>
|
133
|
+
position=< 10586, -51639> velocity=<-1, 5>
|
134
|
+
position=< 10589, -10223> velocity=<-1, 1>
|
135
|
+
position=< 20943, 20848> velocity=<-2, -2>
|
136
|
+
position=<-10157, -10218> velocity=< 1, 1>
|
137
|
+
position=< 10598, -41284> velocity=<-1, 4>
|
138
|
+
position=< 41660, -30934> velocity=<-4, 3>
|
139
|
+
position=< 31263, 20849> velocity=<-3, -2>
|
140
|
+
position=< 31276, 20846> velocity=<-3, -2>
|
141
|
+
position=<-41238, 20846> velocity=< 4, -2>
|
142
|
+
position=<-10132, -41285> velocity=< 1, 4>
|
143
|
+
position=< 20924, 51906> velocity=<-2, -5>
|
144
|
+
position=<-20504, 51908> velocity=< 2, -5>
|
145
|
+
position=< 52007, -20576> velocity=<-5, 2>
|
146
|
+
position=< 51957, 41555> velocity=<-5, -4>
|
147
|
+
position=< 31291, -10224> velocity=<-3, 1>
|
148
|
+
position=<-10161, -10217> velocity=< 1, 1>
|
149
|
+
position=<-30847, -20575> velocity=< 3, 2>
|
150
|
+
position=< 41615, -41287> velocity=<-4, 4>
|
151
|
+
position=< 41626, 20850> velocity=<-4, -2>
|
152
|
+
position=< 31307, -10224> velocity=<-3, 1>
|
153
|
+
position=<-20470, 51915> velocity=< 2, -5>
|
154
|
+
position=<-51593, 31198> velocity=< 5, -3>
|
155
|
+
position=<-30873, 31196> velocity=< 3, -3>
|
156
|
+
position=<-20504, -10220> velocity=< 2, 1>
|
157
|
+
position=<-10157, -20571> velocity=< 1, 2>
|
158
|
+
position=<-10156, 41555> velocity=< 1, -4>
|
159
|
+
position=< 51970, -30933> velocity=<-5, 3>
|
160
|
+
position=< 41626, 41557> velocity=<-4, -4>
|
161
|
+
position=< 52009, -20578> velocity=<-5, 2>
|
162
|
+
position=< 51994, -20577> velocity=<-5, 2>
|
163
|
+
position=< 41626, 10491> velocity=<-4, -1>
|
164
|
+
position=<-41193, 10494> velocity=< 4, -1>
|
165
|
+
position=<-51545, -51635> velocity=< 5, 5>
|
166
|
+
position=< 31279, -20571> velocity=<-3, 2>
|
167
|
+
position=< 41611, 31200> velocity=<-4, -3>
|
168
|
+
position=<-41182, 41552> velocity=< 4, -4>
|
169
|
+
position=< 52008, 10493> velocity=<-5, -1>
|
170
|
+
position=< 31273, 51910> velocity=<-3, -5>
|
171
|
+
position=<-20512, -10215> velocity=< 2, 1>
|
172
|
+
position=<-30843, -51643> velocity=< 3, 5>
|
173
|
+
position=<-30849, 10486> velocity=< 3, -1>
|
174
|
+
position=<-20502, 10490> velocity=< 2, -1>
|
175
|
+
position=<-20496, -51640> velocity=< 2, 5>
|
176
|
+
position=< 41615, 10489> velocity=<-4, -1>
|
177
|
+
position=<-20485, -41284> velocity=< 2, 4>
|
178
|
+
position=<-20520, 20849> velocity=< 2, -2>
|
179
|
+
position=< 51986, -30929> velocity=<-5, 3>
|
180
|
+
position=<-51564, 31198> velocity=< 5, -3>
|
181
|
+
position=<-30841, 10490> velocity=< 3, -1>
|
182
|
+
position=<-51573, 20841> velocity=< 5, -2>
|
183
|
+
position=< 10589, -41281> velocity=<-1, 4>
|
184
|
+
position=< 20900, 31199> velocity=<-2, -3>
|
185
|
+
position=<-41225, 20850> velocity=< 4, -2>
|
186
|
+
position=< 20905, -30932> velocity=<-2, 3>
|
187
|
+
position=< 41663, -30933> velocity=<-4, 3>
|
188
|
+
position=<-30833, -51641> velocity=< 3, 5>
|
189
|
+
position=<-41190, -30934> velocity=< 4, 3>
|
190
|
+
position=< 31291, -51637> velocity=<-3, 5>
|
191
|
+
position=<-10132, -10220> velocity=< 1, 1>
|
192
|
+
position=< 41638, -10220> velocity=<-4, 1>
|
193
|
+
position=<-10165, 10486> velocity=< 1, -1>
|
194
|
+
position=<-20504, 41552> velocity=< 2, -4>
|
195
|
+
position=< 20929, 41559> velocity=<-2, -4>
|
196
|
+
position=<-10124, 31200> velocity=< 1, -3>
|
197
|
+
position=< 31279, 41556> velocity=<-3, -4>
|
198
|
+
position=< 20908, -51637> velocity=<-2, 5>
|
199
|
+
position=<-30867, 31199> velocity=< 3, -3>
|
200
|
+
position=< 41628, -51640> velocity=<-4, 5>
|
201
|
+
position=< 52001, 41555> velocity=<-5, -4>
|
202
|
+
position=<-10139, -10215> velocity=< 1, 1>
|
203
|
+
position=< 51957, -10224> velocity=<-5, 1>
|
204
|
+
position=< 52018, 51912> velocity=<-5, -5>
|
205
|
+
position=< 20892, -20572> velocity=<-2, 2>
|
206
|
+
position=<-20520, 31204> velocity=< 2, -3>
|
207
|
+
position=<-51585, 10488> velocity=< 5, -1>
|
208
|
+
position=< 31251, 51910> velocity=<-3, -5>
|
209
|
+
position=<-41204, 10490> velocity=< 4, -1>
|
210
|
+
position=<-51566, 20845> velocity=< 5, -2>
|
211
|
+
position=< 41623, 41553> velocity=<-4, -4>
|
212
|
+
position=<-41233, -51641> velocity=< 4, 5>
|
213
|
+
position=<-41194, 31203> velocity=< 4, -3>
|
214
|
+
position=<-10112, -20570> velocity=< 1, 2>
|
215
|
+
position=< 10574, 10488> velocity=<-1, -1>
|
216
|
+
position=< 41646, -20573> velocity=<-4, 2>
|
217
|
+
position=<-51560, 31200> velocity=< 5, -3>
|
218
|
+
position=<-41214, -41281> velocity=< 4, 4>
|
219
|
+
position=< 31308, -51635> velocity=<-3, 5>
|
220
|
+
position=<-10130, 10486> velocity=< 1, -1>
|
221
|
+
position=<-51588, -41285> velocity=< 5, 4>
|
222
|
+
position=< 41643, 10486> velocity=<-4, -1>
|
223
|
+
position=<-51588, 31197> velocity=< 5, -3>
|
224
|
+
position=< 31284, -10218> velocity=<-3, 1>
|
225
|
+
position=< 31295, 31199> velocity=<-3, -3>
|
226
|
+
position=<-20509, 41555> velocity=< 2, -4>
|
227
|
+
position=<-51588, 41558> velocity=< 5, -4>
|
228
|
+
position=<-20486, 31196> velocity=< 2, -3>
|
229
|
+
position=< 10569, -41288> velocity=<-1, 4>
|
230
|
+
position=< 10593, 51907> velocity=<-1, -5>
|
231
|
+
position=< 20925, 31200> velocity=<-2, -3>
|
232
|
+
position=<-20480, -30929> velocity=< 2, 3>
|
233
|
+
position=<-30870, 20842> velocity=< 3, -2>
|
234
|
+
position=<-30843, 31202> velocity=< 3, -3>
|
235
|
+
position=< 41631, -41288> velocity=<-4, 4>
|
236
|
+
position=<-30854, 41559> velocity=< 3, -4>
|
237
|
+
position=<-30867, -20575> velocity=< 3, 2>
|
238
|
+
position=<-30859, 20844> velocity=< 3, -2>
|
239
|
+
position=< 41661, -51639> velocity=<-4, 5>
|
240
|
+
position=< 31259, -20575> velocity=<-3, 2>
|
241
|
+
position=< 31276, 51906> velocity=<-3, -5>
|
242
|
+
position=< 41615, 10494> velocity=<-4, -1>
|
243
|
+
position=<-41226, -51644> velocity=< 4, 5>
|
244
|
+
position=< 20932, 31204> velocity=<-2, -3>
|
245
|
+
position=< 31271, 51910> velocity=<-3, -5>
|
246
|
+
position=< 10561, 51906> velocity=<-1, -5>
|
247
|
+
position=< 41650, -10216> velocity=<-4, 1>
|
248
|
+
position=<-51582, -20574> velocity=< 5, 2>
|
249
|
+
position=< 41647, 20843> velocity=<-4, -2>
|
250
|
+
position=<-41227, 31200> velocity=< 4, -3>
|
251
|
+
position=< 20926, -41289> velocity=<-2, 4>
|
252
|
+
position=< 51986, 51915> velocity=<-5, -5>
|
253
|
+
position=< 41642, -51644> velocity=<-4, 5>
|
254
|
+
position=< 20908, -30933> velocity=<-2, 3>
|
255
|
+
position=< 10569, 51906> velocity=<-1, -5>
|
256
|
+
position=<-10162, 41555> velocity=< 1, -4>
|
257
|
+
position=< 31276, 51912> velocity=<-3, -5>
|
258
|
+
position=< 41636, 20850> velocity=<-4, -2>
|
259
|
+
position=< 51973, -51641> velocity=<-5, 5>
|
260
|
+
position=<-51588, -10219> velocity=< 5, 1>
|
261
|
+
position=< 20948, -41283> velocity=<-2, 4>
|
262
|
+
position=<-30822, -30933> velocity=< 3, 3>
|
263
|
+
position=<-30823, 51911> velocity=< 3, -5>
|
264
|
+
position=<-30875, 51908> velocity=< 3, -5>
|
265
|
+
position=< 31287, -10222> velocity=<-3, 1>
|
266
|
+
position=< 31247, -10222> velocity=<-3, 1>
|
267
|
+
position=<-10116, -41289> velocity=< 1, 4>
|
268
|
+
position=< 41643, 10490> velocity=<-4, -1>
|
269
|
+
position=< 20925, 31200> velocity=<-2, -3>
|
270
|
+
position=<-30854, 20848> velocity=< 3, -2>
|
271
|
+
position=<-30872, 20841> velocity=< 3, -2>
|
272
|
+
position=< 41610, 41552> velocity=<-4, -4>
|
273
|
+
position=<-41228, 20845> velocity=< 4, -2>
|
274
|
+
position=< 31283, 10486> velocity=<-3, -1>
|
275
|
+
position=<-20512, 41558> velocity=< 2, -4>
|
276
|
+
position=< 41623, 41554> velocity=<-4, -4>
|
277
|
+
position=< 51973, -30933> velocity=<-5, 3>
|
278
|
+
position=< 31296, 20845> velocity=<-3, -2>
|
279
|
+
position=< 41642, -10215> velocity=<-4, 1>
|
280
|
+
position=<-20517, -41285> velocity=< 2, 4>
|
281
|
+
position=<-51548, 31197> velocity=< 5, -3>
|
282
|
+
position=< 20897, -51642> velocity=<-2, 5>
|
283
|
+
position=< 41642, 51915> velocity=<-4, -5>
|
284
|
+
position=< 20935, 41555> velocity=<-2, -4>
|
285
|
+
position=< 20932, 41555> velocity=<-2, -4>
|
286
|
+
position=< 41634, -20577> velocity=<-4, 2>
|
287
|
+
position=<-51574, 10486> velocity=< 5, -1>
|
288
|
+
position=< 52002, 10494> velocity=<-5, -1>
|
289
|
+
position=< 51997, 41559> velocity=<-5, -4>
|
290
|
+
position=< 41610, -10221> velocity=<-4, 1>
|
291
|
+
position=< 20909, -41289> velocity=<-2, 4>
|
292
|
+
position=< 31268, 10489> velocity=<-3, -1>
|
293
|
+
position=<-51577, 10492> velocity=< 5, -1>
|
294
|
+
position=<-51574, -20579> velocity=< 5, 2>
|
295
|
+
position=< 31263, -51640> velocity=<-3, 5>
|
296
|
+
position=<-51564, 10494> velocity=< 5, -1>
|
297
|
+
position=< 41607, 20846> velocity=<-4, -2>
|
298
|
+
position=<-10114, -51644> velocity=< 1, 5>
|
299
|
+
position=< 31295, 20842> velocity=<-3, -2>
|
300
|
+
position=< 31247, 51907> velocity=<-3, -5>
|
301
|
+
position=<-10164, 41555> velocity=< 1, -4>
|
302
|
+
position=<-30827, -51639> velocity=< 3, 5>
|
303
|
+
position=<-41233, 10488> velocity=< 4, -1>
|
304
|
+
position=< 52001, 41558> velocity=<-5, -4>
|
305
|
+
position=< 51981, 41551> velocity=<-5, -4>
|
306
|
+
position=<-20469, 10486> velocity=< 2, -1>
|
307
|
+
position=< 41607, 10490> velocity=<-4, -1>
|
308
|
+
position=< 20953, -20574> velocity=<-2, 2>
|
309
|
+
position=< 41631, 41556> velocity=<-4, -4>
|
310
|
+
position=< 20929, -41286> velocity=<-2, 4>
|
311
|
+
position=<-51574, -41289> velocity=< 5, 4>
|
312
|
+
position=<-30851, 20848> velocity=< 3, -2>
|
313
|
+
position=< 51997, -41287> velocity=<-5, 4>
|
314
|
+
position=<-41206, 31200> velocity=< 4, -3>
|
315
|
+
position=<-10141, -51641> velocity=< 1, 5>
|
316
|
+
position=< 31271, 10488> velocity=<-3, -1>
|
317
|
+
position=<-20491, -30929> velocity=< 2, 3>
|
318
|
+
position=< 10574, 51912> velocity=<-1, -5>
|
319
|
+
position=< 51986, -30930> velocity=<-5, 3>
|
320
|
+
position=<-51585, 20847> velocity=< 5, -2>
|
321
|
+
position=< 31303, -10216> velocity=<-3, 1>
|
322
|
+
position=< 10574, -20572> velocity=<-1, 2>
|
323
|
+
position=< 41622, 31196> velocity=<-4, -3>
|
324
|
+
position=< 52005, -51635> velocity=<-5, 5>
|
325
|
+
position=< 52007, 20847> velocity=<-5, -2>
|
326
|
+
position=< 31300, 10486> velocity=<-3, -1>
|
327
|
+
position=<-41203, 51906> velocity=< 4, -5>
|
328
|
+
position=< 31303, -30929> velocity=<-3, 3>
|
329
|
+
position=<-30882, 10490> velocity=< 3, -1>
|
330
|
+
position=<-10128, 41559> velocity=< 1, -4>
|
331
|
+
position=< 31271, -10215> velocity=<-3, 1>
|
332
|
+
position=<-20468, 20846> velocity=< 2, -2>
|
333
|
+
position=<-20500, -20575> velocity=< 2, 2>
|
334
|
+
position=< 31308, -20578> velocity=<-3, 2>
|
335
|
+
position=<-10125, -20575> velocity=< 1, 2>
|
336
|
+
position=< 10594, 31196> velocity=<-1, -3>
|
337
|
+
position=< 41629, 31200> velocity=<-4, -3>
|
338
|
+
position=<-10161, -10217> velocity=< 1, 1>
|
339
|
+
position=< 31295, 41559> velocity=<-3, -4>
|
340
|
+
position=<-51537, -30931> velocity=< 5, 3>
|
341
|
+
position=<-51585, 10491> velocity=< 5, -1>
|
342
|
+
position=<-41182, 31198> velocity=< 4, -3>
|
343
|
+
position=<-41238, 20850> velocity=< 4, -2>
|
344
|
+
position=<-51556, 10491> velocity=< 5, -1>
|
345
|
+
position=< 51970, 31199> velocity=<-5, -3>
|
346
|
+
position=< 41607, 31204> velocity=<-4, -3>
|
347
|
+
position=< 10569, 31198> velocity=<-1, -3>
|
348
|
+
position=<-20491, 31197> velocity=< 2, -3>
|
349
|
+
position=<-30848, 31200> velocity=< 3, -3>
|
350
|
+
position=<-20494, -10224> velocity=< 2, 1>
|
351
|
+
position=<-10131, 20841> velocity=< 1, -2>
|
352
|
+
position=<-10130, -51640> velocity=< 1, 5>
|
353
|
+
position=<-10141, 31202> velocity=< 1, -3>
|
354
|
+
position=<-41188, -51638> velocity=< 4, 5>
|
355
|
+
position=< 20904, -30928> velocity=<-2, 3>
|
356
|
+
position=< 20929, -51641> velocity=<-2, 5>
|
357
|
+
position=<-10114, -20570> velocity=< 1, 2>
|
358
|
+
position=<-30883, -10219> velocity=< 3, 1>
|
359
|
+
position=< 41607, 10495> velocity=<-4, -1>
|
360
|
+
position=<-30851, 51912> velocity=< 3, -5>
|
361
|
+
position=< 20937, 20850> velocity=<-2, -2>
|
362
|
+
position=<-51575, -30930> velocity=< 5, 3>
|
363
|
+
position=< 10566, -30925> velocity=<-1, 3>
|
364
|
+
position=< 51986, -20572> velocity=<-5, 2>
|
365
|
+
position=<-51569, -51637> velocity=< 5, 5>
|
366
|
+
position=<-10130, -20574> velocity=< 1, 2>
|
367
|
+
position=<-10157, -41281> velocity=< 1, 4>
|
368
|
+
position=<-41217, 31197> velocity=< 4, -3>
|
369
|
+
position=<-30835, 41556> velocity=< 3, -4>
|
370
|
+
position=<-10128, -20576> velocity=< 1, 2>
|
371
|
+
position=< 20940, 10487> velocity=<-2, -1>
|
372
|
+
position=< 52013, 41556> velocity=<-5, -4>
|
373
|
+
position=<-51588, -20570> velocity=< 5, 2>
|
374
|
+
position=<-10157, -51641> velocity=< 1, 5>
|
375
|
+
position=<-10112, 20847> velocity=< 1, -2>
|
376
|
+
position=<-51573, -10220> velocity=< 5, 1>
|
377
|
+
position=< 20917, 51910> velocity=<-2, -5>
|
378
|
+
position=< 51997, -30933> velocity=<-5, 3>
|
379
|
+
position=< 41618, 20845> velocity=<-4, -2>
|
380
|
+
position=<-41205, -10224> velocity=< 4, 1>
|
381
|
+
position=<-30875, 41555> velocity=< 3, -4>
|
382
|
+
position=<-51559, 20845> velocity=< 5, -2>
|
383
|
+
position=< 31256, 51906> velocity=<-3, -5>
|
384
|
+
position=< 10590, 41560> velocity=<-1, -4>
|
385
|
+
position=< 41610, -41284> velocity=<-4, 4>
|
386
|
+
position=<-30842, 31196> velocity=< 3, -3>
|
387
|
+
position=< 10542, -10218> velocity=<-1, 1>
|
388
|
+
position=<-41227, -41289> velocity=< 4, 4>
|
389
|
+
position=< 10566, 10492> velocity=<-1, -1>
|
390
|
+
position=< 10546, -20579> velocity=<-1, 2>
|
391
|
+
position=< 10537, -30927> velocity=<-1, 3>
|
392
|
+
position=<-51564, 51910> velocity=< 5, -5>
|
393
|
+
position=<-41222, -41289> velocity=< 4, 4>
|
394
|
+
position=< 10593, -10217> velocity=<-1, 1>
|
395
|
+
position=<-20528, -20575> velocity=< 2, 2>
|