Capacitated Facility Location Problem
这次作业我使用了两种不同的算法,分别是贪心算法和模拟退火算法
贪心算法
贪心算法的思想很简单,因为顾客数量远远大于工厂数量,所以我们力求让每一个顾客都找到能承载其需求的具有最小运输成本的工厂。
伪代码如下
FOR each customer:
loop:
find the factory with the smallest cost
if the capacity of the factory smaller than the demand of the customer
goto loop
else
total cost += the cost of the customer going to the factory
FOR each factory:
if nobody going to the factory
total cost -= the opening cost
项目核心代码如下
int final_cost = 0;
for (auto i = 0; i < customer_num; i++) {
int min_factory = 0; // factory with lowest cost
for (auto j = 0; j < factory_num; j++) {
if (allocating_cost[j][i] < allocating_cost[min_factory][i] && current_capacity[j] > demand[i]) {
min_factory = j;
}
}
// if we cannot find a proper solution, find a capacity closest to the demand
if (min_factory == 0 && current_capacity[0] < demand[i]) {
for (int j = 0; j < factory_num; j++) {
if (current_capacity[j] > demand[i]) {
if (min_factory == 0 || current_capacity[j] < current_capacity[min_factory]) {
min_factory = j;
}
}
}
}
if (open_list[min_factory] == 0) {
final_cost += fixed_cost[min_factory];
}
open_list[min_factory] = 1;
allocating_list[i] = min_factory;
current_capacity[min_factory] -= demand[i];
final_cost += allocating_cost[min_factory][i];
}
算法运行结果:
name | result | times |
---|---|---|
p1 | 9440 | 0s |
p2 | 8126 | 0s |
p3 | 10126 | 0s |
p4 | 12126 | 0s |
p5 | 9375 | 0s |
p6 | 8061 | 0s |
p7 | 10061 | 0s |
p8 | 12061 | 0s |
p9 | 9040 | 0s |
p10 | 7726 | 0s |
p11 | 9726 | 0s |
p12 | 11726 | 0s |
p13 | 12032 | 0s |
p14 | 9180 | 0s |
p15 | 13180 | 0s |
p16 | 17180 | 0s |
p17 | 12032 | 0s |
p18 | 9180 | 0s |
p19 | 13180 | 0s |
p20 | 17180 | 0s |
p21 | 12032 | 0s |
p22 | 9180 | 0s |
p23 | 13180 | 0s |
p24 | 17180 | 0s |
p25 | 19274 | 0s |
p26 | 16208 | 0s |
p27 | 21608 | 0s |
p28 | 27008 | 0s |
p29 | 19305 | 0s |
p30 | 16239 | 0s |
p31 | 21639 | 0s |
p32 | 27039 | 0s |
p33 | 19055 | 0s |
p34 | 15989 | 0s |
p35 | 21389 | 0s |
p36 | 26789 | 0s |
p37 | 19055 | 0s |
p38 | 15989 | 0s |
p39 | 21389 | 0s |
p40 | 26789 | 0s |
p41 | 7226 | 0s |
p42 | 9957 | 0s |
p43 | 12448 | 0s |
p44 | 7911 | 0s |
p45 | 9848 | 0s |
p46 | 12639 | 0s |
p47 | 6986 | 0s |
p48 | 9044 | 0s |
p49 | 12420 | 0s |
p50 | 10306 | 0s |
p51 | 11351 | 0s |
p52 | 10364 | 0s |
p53 | 12470 | 0s |
p54 | 10480 | 0s |
p55 | 11970 | 0s |
p56 | 23882 | 0s |
p57 | 32882 | 0.001s |
p58 | 53882 | 0s |
p59 | 39121 | 0s |
p60 | 23882 | 0s |
p61 | 32882 | 0s |
p62 | 53882 | 0s |
p63 | 39121 | 0s |
p64 | 23882 | 0s |
p65 | 32882 | 0s |
p66 | 53882 | 0s |
p67 | 39671 | 0s |
p68 | 23882 | 0s |
p69 | 32882 | 0s |
p70 | 53882 | 0s |
p71 | 39121 | 0s |
算法结果
p1
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3
p2
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3
p3
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3
p4
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 0 3 2 0 3 4 0 9 7 3 4 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 3
p5
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1
p6
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1
p7
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1
p8
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 2 0 7 1
p9
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0
p10
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0
p11
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0
p12
1 1 1 1 1 1 1 1 1 1
8 8 1 6 3 8 2 4 4 1 9 8 3 2 8 3 4 0 9 7 3 8 6 4 2 5 1 5 0 5 2 6 0 3 9 4 4 3 0 4 1 8 1 5 7 0 4 0 4 0
p13
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p14
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p15
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p16
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p17
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p18
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p19
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p21
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p22
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p23
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p24
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 12 10 10 1 18 17 13 14 17 15 4 1 6 13 3 15 10 4 9 12 15 15 19 6 17 16 17 1 17 13 7 2 16 3 10 11 19 19 13 6 0 5 0 8 5 14 10 19 9
p25
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 7 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 0 5
p26
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 7 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 0 5
p27
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 7 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 0 5
p28
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 7 14 25 2 29 7 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 0 0 8 20 14 8 25 25 5 0 5
p29
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24
p30
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24
p31
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24
p32
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 11 2 24
p33
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p34
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p35
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p36
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p37
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p38
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p39
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p40
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1
20 11 13 2 20 5 2 9 14 17 22 16 8 20 3 14 14 17 5 11 2 0 5 3 5 8 19 24 5 24 5 25 6 25 20 20 24 15 0 14 0 14 15 8 24 14 0 13 27 8 29 14 14 5 13 20 17 11 0 14 0 5 20 11 11 11 9 0 5 9 20 6 11 17 24 8 26 20 14 24 20 7 13 17 17 17 17 4 20 5 2 24 17 11 17 5 2 2 21 16 8 17 17 25 2 29 17 11 14 28 14 1 2 11 11 21 24 24 24 24 5 8 25 13 16 0 5 9 0 12 0 11 24 5 8 14 7 5 20 17 0 8 20 14 8 25 25 5 2 5
p41
1 1 1 1 1 1 1 1 1 1
5 6 4 1 7 9 3 7 8 8 4 9 2 6 2 7 7 3 0 6 6 1 4 1 6 5 5 4 8 5 8 0 0 0 3 9 2 6 6 9 2 7 3 3 3 5 0 5 6 4 1 1 6 6 9 7 2 8 8 8 0 0 1 5 0 6 6 6 4 4 0 4 4 0 7 7 9 2 6 5 7 2 2 7 7 9 2 2 7 2
p42
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
12 10 11 9 15 18 16 3 17 1 11 18 6 10 6 15 0 2 14 14 5 11 9 8 12 8 11 16 17 13 7 19 6 8 14 10 10 0 0 1 1 3 3 16 9 5 8 19 15 15 16 17 7 13 13 5 2 14 14 14 11 11 4 3 11 3 0 15 19 6 10 18 19 19 19 18 18 18 19 19
p43
1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 15 24 25 22 26 21 27 29 24 23 3 9 18 11 8 15 12 7 25 26 22 20 17 13 29 6 29 4 5 2 2 13 0 22 7 12 21 11 4 12 28 23 5 25 26 17 17 11 21 0 9 18 6 6 19 20 2 29 5 27 1 29 27 28 1 27 28 29
p44
1 1 1 1 1 1 1 1 1 1
4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 1 1 1 1 1 7 6 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 8 8 8 8 8 7 5 9 9 7 6 5 5 8 8 7 7 9 5 5 5 9 3 0 6 6 2 1 9 4 9 9 7 7 8 6 6 5 2 7 7 7 9 9 7 6 5 7 5
p45
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 1 1 1 1 6 6 6 6 2 2 3 2 3 2 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 0 0 2 3 11 12 18 16 19 7 15 16 8 13 11 16 18 19 14 15 10 9 12 9 15 17 13 13 8 12 7 10 18 12 13 17 14 17 8 16 10 7
p46
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1
10 0 10 10 10 0 10 1 1 1 1 11 11 11 11 2 2 3 2 3 2 4 4 5 6 6 5 7 7 8 7 8 9 9 10 2 3 17 24 28 29 12 21 22 24 14 18 17 16 28 29 27 13 22 25 26 13 18 18 24 19 15 28 18 26 27 14 13 15 12
p47
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 6 7 6 0 7 7 7 7 7 8 8 8 8 8 9 8 0 9 9 9 9 5 5 5 9 6
p48
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 1 0 1 1 1 2 3 2 2 3 3 4 4 4 5 5 5 5 5 5 6 6 6 6 6 7 7 8 8 8 8 8 8 8 9 9 9 9 10 10 11 10 11 10 12 13 12 13 13 12 13 14 15 12 14 12 0 15 14 14 15 16 16 17 17 17 17 17 17 18 18 19 18 19 19 19
p49
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 1 2 1 2 2 2 3 5 3 5 4 6 6 6 7 7 7 7 7 7 9 10 8 11 10 12 12 14 13 13 13 14 15 15 16 16 17 16 17 16 20 19 18 19 18 20 21 18 21 18 0 22 23 23 22 24 24 26 25 26 25 26 27 27 28 27 28 28
p50
1 1 1 1 1 1 1 1 1 1
3 6 3 0 9 9 5 5 3 7 7 4 1 9 9 9 9 2 5 3 0 0 0 4 0 0 7 4 4 7 7 7 3 3 3 5 9 9 0 6 0 9 9 1 5 5 5 5 5 3 3 5 6 0 0 0 6 6 1 2 1 7 7 7 3 3 0 4 8 7 3 1 6 1 5 4 4 3 3 4 3 5 2 2 2 2 6 7 2 7 9 1 2 2 2 2 2 2 2 2
p51
1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1
15 6 19 10 12 13 5 16 15 1 5 3 6 13 6 13 12 16 2 15 0 0 10 14 14 14 1 3 19 7 1 1 17 19 15 5 13 13 10 0 0 13 13 13 16 5 5 5 5 17 15 2 0 14 14 10 6 6 13 12 13 5 1 5 15 15 10 3 7 7 15 0 0 0 10 19 19 19 19 3 19 5 16 12 13 13 6 8 12 1 13 13 13 4 18 13 18 18 18 18
p52
1 1 1 1 1 1 1 1 1 1
7 7 7 7 7 7 7 7 3 4 4 4 3 4 4 4 4 8 8 8 8 3 8 3 3 9 9 9 9 9 9 9 9 5 6 6 6 6 6 6 6 6 6 6 7 7 4 5 5 5 5 3 4 6 2 5 3 3 3 4 6 5 5 5 0 5 5 6 4 7 6 6 4 3 3 5 3 4 7 1 6 3 3 5 5 3 3 7 5 3 1 1 1 1 5 1 3 4 3 7
p53
1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1
5 5 5 5 5 5 5 5 19 19 19 7 7 7 7 7 7 12 12 12 12 13 13 12 3 9 9 9 9 9 9 9 9 15 18 18 18 18 18 18 18 18 18 18 5 5 7 12 13 15 15 4 7 18 5 11 3 3 1 6 18 2 15 13 0 13 2 5 6 5 17 18 6 3 3 15 3 6 6 2 14 19 13 15 15 3 1 6 15 1 2 2 17 17 2 17 1 6 1 16
p54
1 1 1 1 1 1 1 1 1 1
9 9 7 7 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 3 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 6 6 8 8 6 8 8 8 8 8 8 3 3 6 6 6 6 6 6 6 6 6 5 5 6 5 5 5 6 6 0 0 0 0 0 9 0 0 0 0 0 6 9 9 4 4 4 4 4 4 4 4 9 4 9 4 4 2 4 2 2
p55
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
17 17 16 17 16 4 4 4 8 8 8 8 2 8 8 2 2 2 8 12 1 12 12 6 12 12 12 6 6 6 6 14 14 6 6 6 6 6 6 7 7 19 19 7 0 0 0 0 0 0 0 0 7 7 7 7 7 7 7 7 11 11 9 11 3 11 11 7 11 9 9 11 9 11 17 13 9 13 13 13 13 15 15 15 15 15 15 15 5 15 5 18 18 18 18 17 18 18 18 18
p56
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p57
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p58
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p59
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p60
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p61
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p62
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p63
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p64
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p65
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p66
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p67
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 22 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 15 18 9 6 26 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 25 29 0 7 8 13 11 5 14 28 25 7 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 19 5 27 7 28 6 25 25 2 3 27 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p68
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p69
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p70
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
p71
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 19 21 27 2 12 15 27 22 28 4 28 13 1 28 18 1 20 22 0 18 16 5 24 10 18 27 19 29 2 19 19 4 16 27 6 20 8 24 16 18 9 6 4 8 19 13 21 19 14 24 16 24 16 8 6 11 9 18 7 29 0 7 8 13 11 5 14 28 25 18 12 19 9 23 23 20 23 8 16 10 0 9 25 29 13 6 5 27 7 28 6 25 25 2 3 11 6 0 28 28 15 25 18 4 0 4 24 22 3 19 4 27 12 12 8 28 7 17 8 26 11 17 19 26 16 2 11 26 17 28 24 25 20 23 9 3 3 28 10 12 22 11 11 25 5 24 15 27 25 24 17 23 0 8 11 2 15 3 13 13 27 10 24 5 27 5 4 3 21 1 20 19 14 26 2 0 10 29 10 5 21 2 19 12 8 28 23 0 21 2 21 6 4 7 12 7 15 10 19
可以从结果看出,贪心算法由于优先计算了顾客的运输成本,几乎所有的工厂都被打开了,这一定没有得到最优的结果。
模拟退火算法
核心代码
generate_random_solution();
int repeat = 100;
int t = T;
double current_cost = get_total_cost();
double min_cost = current_cost;
int time = 0;
while (t > T_min) {
time++;
int n = 0;
while (n != repeat) {
int customer = rand() % customer_num;
int factory = rand() % factory_num;
//not valid neibor
if (capacity[factory] < demand[customer]) continue;
if (allocating_list[customer] == factory) continue;
n++;
int delta = calculate_delta_cost(customer, factory);
if (delta <= 0) {
accept(customer, factory);
}
else {
if ((rand() % 10000) / 10000.0 < exp(-1.0 * delta / t)) {
accept(customer, factory);
}
}
}
//cout << get_total_cost() << endl;
t = 0.99 * t;
}
结果表格
name | result | times |
---|---|---|
p1 | 9242 | 0.01s |
p2 | 7968 | 0.012s |
p3 | 9966 | 0.011s |
p4 | 11574 | 0.011s |
p5 | 9002 | 0.012s |
p6 | 8044 | 0.014s |
p7 | 9891 | 0.013s |
p8 | 11591 | 0.015s |
p9 | 9005 | 0.008s |
p10 | 7643 | 0.01s |
p11 | 9226 | 0.011s |
p12 | 10761 | 0.01s |
p13 | 9025 | 0.011s |
p14 | 7439 | 0.011s |
p15 | 10699 | 0.013s |
p16 | 11635 | 0.009s |
p17 | 9122 | 0.011s |
p18 | 7589 | 0.01s |
p19 | 10049 | 0.009s |
p20 | 11796 | 0.01s |
p21 | 9154 | 0.008s |
p22 | 8004 | 0.008s |
p23 | 9437 | 0.01s |
p24 | 11602 | 0.009s |
p25 | 14889 | 0.009s |
p26 | 14461 | 0.011s |
p27 | 17104 | 0.009s |
p28 | 18675 | 0.008s |
p29 | 16952 | 0.009s |
p30 | 13908 | 0.009s |
p31 | 17820 | 0.008s |
p32 | 20458 | 0.008s |
p33 | 16361 | 0.007s |
p34 | 14249 | 0.008s |
p35 | 16470 | 0.008s |
p36 | 18112 | 0.007s |
p37 | 16324 | 0.008s |
p38 | 13604 | 0.009s |
p39 | 16167 | 0.01s |
p40 | 18777 | 0.01s |
p41 | 7221 | 0.01s |
p42 | 8139 | 0.009s |
p43 | 7031 | 0.01s |
p44 | 7326 | 0.01s |
p45 | 8477 | 0.011s |
p46 | 7605 | 0.01s |
p47 | 6601 | 0.009s |
p48 | 7449 | 0.008s |
p49 | 7298 | 0.01s |
p50 | 9516 | 0.009s |
p51 | 10558 | 0.009s |
p52 | 9865 | 0.01s |
p53 | 10855 | 0.009s |
p54 | 9682 | 0.01s |
p55 | 10297 | 0.009s |
p56 | 27999 | 0.01s |
p57 | 35243 | 0.009s |
p58 | 52700 | 0.008s |
p59 | 39051 | 0.009s |
p60 | 26839 | 0.01s |
p61 | 35655 | 0.01s |
p62 | 49861 | 0.01s |
p63 | 38157 | 0.009s |
p64 | 28085 | 0.009s |
p65 | 37389 | 0.009s |
p66 | 53655 | 0.009s |
p67 | 39438 | 0.01s |
p68 | 28284 | 0.01s |
p69 | 34191 | 0.009s |
p70 | 53077 | 0.009s |
p71 | 39904 | 0.011s |
算法结果:
p1
1 1 1 1 1 1 1 1 1 0
3 9 2 7 4 9 3 5 5 2 5 9 1 3 3 1 3 1 7 5 4 5 7 5 3 6 2 6 9 6 3 7 1 1 5 5 5 4 4 5 2 9 2 6 5 1 3 1 5 1
p2
1 1 1 1 1 0 1 1 1 0
3 9 2 7 4 9 3 5 5 2 5 9 4 3 9 4 5 1 7 8 4 5 7 5 3 7 2 7 1 2 3 7 1 4 5 5 5 4 1 5 4 9 2 7 8 1 3 1 5 1
p3
1 1 1 1 1 0 1 1 1 0
3 9 2 7 4 9 3 5 5 2 5 9 4 3 9 4 5 1 7 8 4 5 7 5 3 7 4 2 1 2 3 7 1 4 5 5 5 4 1 5 4 9 2 7 8 1 5 1 8 1
p4
1 1 1 1 1 1 1 0 1 1
3 9 2 7 4 9 3 5 5 2 10 9 4 3 9 4 5 1 10 5 4 5 7 5 3 6 2 6 1 6 3 7 1 4 10 5 5 4 1 5 2 9 2 6 5 1 3 1 5 1
p5
1 1 1 1 1 1 1 0 1 1
3 9 2 7 2 9 3 5 5 2 10 9 4 3 9 4 5 1 10 10 4 9 7 5 6 6 2 6 9 6 10 7 1 1 10 10 5 4 9 5 2 9 2 6 5 1 3 1 5 1
p6
1 1 1 1 1 0 1 1 1 1
8 9 2 7 2 9 3 5 5 2 10 9 4 3 9 4 5 9 10 8 4 9 7 5 3 7 2 2 1 2 3 7 1 4 10 5 8 4 1 5 2 9 2 7 8 1 3 1 5 1
p7
1 1 1 1 1 1 1 1 1 0
8 9 2 7 2 9 6 5 5 2 5 9 4 3 9 4 3 9 7 8 4 9 7 5 3 6 2 6 1 6 3 7 1 4 5 5 5 4 1 3 2 9 2 6 8 1 3 1 8 1
p8
1 1 1 1 1 1 1 1 1 1
8 9 2 7 2 9 3 5 3 2 10 9 4 5 9 4 3 9 10 8 4 9 7 5 3 6 2 6 1 6 3 7 1 4 10 5 5 4 1 3 2 9 2 6 8 1 10 1 5 1
p9
1 1 1 0 1 1 1 1 1 1
1 9 2 7 2 9 3 5 5 2 10 9 1 3 9 1 5 1 10 8 2 9 7 5 3 6 2 6 9 6 3 7 1 1 10 5 5 2 9 5 2 9 2 6 8 1 5 1 5 1
p10
1 1 1 1 1 1 1 0 1 1
9 9 2 7 4 9 3 5 5 2 10 9 4 3 9 4 5 1 10 5 4 9 7 5 3 6 2 6 1 6 3 7 1 4 10 5 5 4 1 5 2 9 2 6 5 1 3 1 5 1
p11
1 1 1 1 1 1 1 0 1 1
9 9 2 7 4 9 3 5 5 2 10 9 4 3 9 4 5 1 10 5 4 9 7 5 3 6 2 6 1 6 3 7 1 4 10 5 5 4 1 5 2 9 2 6 5 1 3 1 5 1
p12
1 1 1 1 1 1 0 1 1 1
9 9 2 6 4 9 3 5 5 2 10 9 4 3 9 4 5 1 10 8 4 9 10 5 3 6 2 6 1 6 3 6 1 4 10 5 5 4 1 5 2 9 2 6 8 1 5 1 5 1
p13
1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1
1 13 11 11 2 13 18 14 15 18 16 20 2 11 14 13 16 11 18 10 13 16 16 20 10 2 1 18 2 18 14 16 14 1 2 11 18 20 20 14 10 1 16 1 10 14 15 11 20 10
p14
1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1
17 2 11 11 2 16 18 14 15 18 16 20 2 7 14 12 16 11 18 7 15 16 16 20 7 18 17 18 2 18 14 16 14 17 2 11 12 20 20 14 7 1 17 1 12 14 15 11 20 7
p15
1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0
17 15 11 11 2 16 18 14 15 18 16 5 2 7 14 15 16 11 5 10 15 16 16 3 7 18 17 18 2 18 14 16 3 17 2 11 18 2 2 14 7 1 6 1 10 6 15 11 3 10
p16
1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1
17 2 11 11 2 16 18 14 4 18 16 20 2 7 14 4 16 11 18 7 2 16 16 20 7 18 17 18 2 18 14 16 14 17 4 11 4 20 20 14 7 1 17 1 4 14 16 11 20 7
p17
1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 0
1 13 11 11 2 13 18 14 15 18 16 2 2 7 14 13 16 11 18 10 13 16 16 13 7 2 1 18 2 18 14 16 14 1 2 11 18 2 2 14 7 1 6 1 10 6 15 11 14 10
p18
1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1
17 2 8 8 2 16 18 14 15 18 16 5 2 7 14 15 16 8 5 10 15 16 16 20 7 18 17 18 2 18 14 8 14 17 2 7 18 20 20 14 7 1 16 1 10 14 15 7 20 10
p19
1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 1
17 2 11 11 2 16 18 14 15 18 16 20 2 7 14 15 16 11 18 7 15 16 16 20 7 18 17 18 2 18 14 16 14 17 2 11 9 20 20 14 7 1 16 1 9 14 15 11 20 9
p20
1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1
17 2 11 11 2 14 4 14 7 4 16 20 2 7 14 4 16 11 2 7 16 16 16 20 7 2 17 2 2 4 14 16 14 17 4 11 4 20 20 14 7 1 16 1 4 14 11 11 20 7
p21
1 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0
1 2 11 11 2 16 18 14 15 18 16 2 2 11 14 15 16 11 18 10 15 16 16 14 10 18 1 18 2 18 14 16 14 1 2 11 9 2 2 14 11 1 16 1 9 14 15 11 2 10
p22
1 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1
17 4 11 11 20 16 18 14 8 18 16 20 20 7 14 4 16 11 18 10 16 16 16 20 7 18 17 18 4 18 14 8 14 17 4 11 12 20 20 14 7 1 16 1 12 14 8 11 20 10
p23
1 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1
17 2 11 11 2 16 18 14 4 18 16 20 2 11 14 4 16 11 18 10 16 16 16 20 10 18 17 18 2 18 14 16 14 17 4 11 4 20 20 14 11 1 6 1 4 6 16 11 20 10
p24
1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1
17 13 11 11 2 13 4 14 13 4 16 20 2 7 14 4 16 11 20 10 13 16 16 20 7 2 17 4 2 4 14 16 14 17 4 11 4 20 20 14 7 1 16 1 4 14 13 11 20 10
p25
1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1
21 12 21 15 21 12 3 6 15 1 6 21 21 21 8 15 3 1 6 12 15 5 6 18 6 21 18 25 6 25 30 12 15 26 21 21 25 16 8 3 1 15 16 21 25 15 8 21 12 15 30 15 15 6 21 21 18 12 12 15 1 6 21 12 12 12 25 1 6 25 21 15 26 8 25 21 25 21 8 25 21 8 21 1 3 18 18 8 21 6 3 25 18 26 18 6 3 12 26 15 15 8 18 12 3 26 8 12 15 15 15 15 3 12 12 26 25 25 25 25 6 21 12 21 15 12 6 25 8 30 18 26 25 6 21 15 5 6 21 18 18 21 21 15 21 26 26 6 3 6
p26
1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1
21 12 14 15 21 6 15 25 15 18 25 21 21 21 3 15 15 1 26 12 15 1 6 8 30 9 3 25 6 10 6 26 14 26 21 21 25 16 1 15 1 9 16 9 25 15 1 14 12 9 30 29 15 6 14 21 3 26 1 15 1 6 21 12 12 12 10 1 6 6 21 21 12 1 25 9 10 21 29 25 21 8 14 18 18 18 18 18 21 6 3 25 18 12 8 6 3 18 26 14 9 8 18 12 3 30 8 12 15 29 15 15 3 12 12 6 25 16 6 25 6 29 26 21 9 1 6 10 1 12 1 12 25 30 29 15 8 30 21 18 1 9 21 15 9 28 12 6 3 6
p27
1 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0
21 12 21 15 21 6 3 25 9 18 10 21 9 21 3 15 15 1 6 12 3 1 25 18 25 9 3 25 6 10 6 26 21 26 21 21 25 16 1 15 1 15 16 9 25 15 1 21 12 9 6 9 15 6 21 21 18 8 1 15 1 6 21 26 12 12 10 1 10 10 21 21 12 1 25 9 25 21 15 25 21 8 21 18 3 18 3 8 21 6 3 25 18 12 8 6 15 18 8 21 9 18 18 26 3 26 18 12 29 29 15 15 3 12 12 26 25 25 25 25 12 29 12 21 9 1 6 25 1 26 1 26 25 25 9 15 8 26 21 18 1 29 21 15 9 26 26 6 3 6
p28
1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0
21 26 14 15 29 6 3 25 29 18 10 9 9 21 8 15 15 1 26 12 20 1 26 3 10 9 20 25 6 6 26 26 21 12 21 21 25 25 1 15 1 15 25 15 25 15 1 14 28 9 6 15 15 6 21 21 3 12 1 15 1 6 21 12 12 12 10 1 25 25 21 21 12 1 25 9 10 21 3 25 21 8 14 18 20 18 18 8 21 26 3 25 18 12 18 10 15 3 28 29 21 8 18 26 3 26 8 12 15 29 15 15 3 12 12 26 25 25 6 25 6 9 26 14 9 1 6 10 1 12 1 12 25 6 29 15 18 26 21 18 1 9 21 15 9 12 26 6 3 6
p29
1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1
9 26 15 3 7 6 20 25 15 1 6 9 9 21 20 15 18 1 6 12 3 18 6 18 6 9 20 25 25 25 30 26 7 26 21 21 6 16 12 15 12 15 16 9 25 15 12 21 12 9 6 15 15 12 7 21 18 12 12 15 1 25 21 26 12 26 25 18 25 30 9 7 12 18 16 9 25 21 3 25 21 8 21 18 20 18 3 8 21 26 3 25 18 12 8 6 3 20 30 21 9 8 18 26 18 26 8 12 15 9 15 15 3 12 12 26 25 25 6 25 6 9 26 21 21 20 6 16 8 30 18 26 25 30 9 15 18 26 21 18 18 9 21 3 9 26 26 6 3 6
p30
1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 1 0
21 12 21 3 21 6 20 10 29 18 6 21 29 21 18 15 15 18 6 12 3 1 25 18 6 9 20 25 6 10 26 26 14 12 21 9 25 16 1 15 1 9 16 9 25 15 1 14 12 29 6 15 15 6 14 21 18 28 1 15 1 6 21 28 12 12 25 1 25 10 21 21 12 18 25 9 10 21 15 10 14 8 14 18 18 18 18 8 21 26 3 25 18 12 8 6 3 3 26 14 29 8 18 12 3 6 18 12 29 29 15 15 3 12 12 26 25 25 25 25 6 9 26 21 9 1 6 25 1 12 1 12 25 10 9 15 18 6 21 18 1 9 14 15 9 28 26 6 3 6
p31
1 0 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1
21 12 14 3 14 6 3 25 15 18 10 9 29 21 3 15 15 18 30 12 3 1 6 28 6 9 3 25 6 25 6 26 14 26 21 21 25 25 1 15 1 15 25 9 25 15 1 21 12 9 26 29 15 6 14 21 3 12 1 15 1 6 21 28 12 12 10 1 30 30 14 21 12 18 25 9 10 21 15 10 14 8 14 18 18 18 18 8 21 30 3 25 18 12 18 6 3 29 26 14 21 18 18 26 18 30 8 12 15 29 15 15 3 12 12 28 25 25 25 25 6 29 26 21 14 1 6 10 1 30 1 12 25 10 9 15 8 6 14 18 1 9 21 15 9 26 26 6 3 6
p32
1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0
21 12 14 3 21 6 3 10 15 18 10 9 9 21 3 15 15 18 26 12 3 1 26 18 10 9 18 25 25 10 6 26 14 6 21 21 25 25 1 15 1 15 25 14 25 15 1 14 26 9 6 15 15 6 14 21 3 12 1 15 1 6 21 12 12 12 25 1 6 10 21 21 12 18 25 9 10 21 15 10 21 8 14 18 18 18 3 18 21 6 3 25 18 12 8 10 3 3 26 9 9 18 18 12 3 6 18 12 9 9 15 15 3 12 12 26 25 25 25 6 6 9 12 21 9 1 6 25 1 26 1 12 25 26 9 15 8 6 14 18 1 9 21 15 9 26 26 6 3 6
p33
1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1
7 12 7 3 7 6 18 25 15 18 6 21 3 21 18 3 15 18 6 12 3 5 25 18 6 15 3 25 6 25 6 12 21 12 21 21 25 16 5 15 18 15 16 21 25 15 8 21 12 15 6 3 15 6 7 21 18 12 8 15 1 6 21 12 18 12 6 18 30 6 15 7 12 18 25 21 25 21 3 25 21 8 21 18 18 18 3 8 21 6 3 25 18 12 18 25 3 8 30 7 15 18 15 12 18 30 5 12 15 15 15 3 3 12 12 18 25 16 6 25 6 15 12 21 21 12 6 25 12 12 18 12 25 6 21 15 8 6 21 18 18 3 21 15 15 30 12 6 3 6
p34
1 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1
21 12 21 3 21 12 20 10 29 18 25 9 9 21 20 15 15 18 6 12 20 1 6 20 6 9 20 25 6 25 26 12 21 26 21 21 25 16 1 15 1 15 16 15 25 15 1 21 28 9 26 29 15 6 14 21 3 12 1 15 1 6 21 12 12 12 10 1 6 10 14 21 12 18 25 9 10 21 15 10 14 18 14 18 20 18 18 18 21 26 3 25 18 28 18 6 3 12 26 14 9 20 18 12 20 26 18 12 15 29 15 15 3 12 12 28 6 16 25 25 6 9 26 14 9 1 6 10 1 26 1 28 25 28 29 15 12 26 21 18 1 9 21 15 9 26 26 6 3 6
p35
1 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0
21 28 21 18 21 6 3 10 15 18 25 9 9 21 3 15 15 18 6 12 15 1 25 18 6 9 3 25 6 25 6 18 9 28 21 21 25 16 1 15 1 15 16 9 25 15 1 21 12 9 6 3 15 6 21 21 18 28 1 15 1 6 21 28 12 12 10 1 6 25 21 14 12 18 25 9 10 21 15 25 14 8 21 18 3 18 18 8 21 6 3 25 18 12 18 6 15 3 12 14 9 18 18 12 18 12 18 18 15 9 15 15 3 12 12 12 25 16 25 25 6 9 6 21 21 1 6 25 1 28 1 12 25 6 9 15 8 6 21 18 1 9 21 15 9 28 12 6 3 6
p36
1 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1
21 12 14 3 21 6 18 25 15 18 6 9 9 21 18 15 15 18 6 12 3 1 6 3 25 9 3 25 6 30 30 12 21 12 21 21 25 25 1 15 1 15 25 29 25 15 1 21 26 9 30 15 15 6 21 21 18 26 1 15 1 6 21 12 12 12 10 1 10 25 14 21 12 18 25 9 10 21 15 25 21 18 21 18 18 18 18 18 21 30 3 25 18 12 18 6 3 18 26 9 29 3 18 12 3 26 18 12 15 29 15 15 3 12 26 12 25 25 25 25 6 21 26 14 21 1 6 25 1 10 1 26 25 6 29 15 12 6 21 18 1 9 21 15 9 30 12 6 3 6
p37
1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0
7 12 21 15 21 6 3 25 15 18 16 21 9 21 3 15 15 18 6 12 3 18 6 18 6 9 3 25 6 25 6 12 21 12 21 9 25 16 8 15 18 15 25 9 25 15 8 21 8 9 12 15 15 6 21 21 18 12 12 15 1 6 21 12 12 12 25 18 6 25 21 21 12 18 25 9 16 21 15 25 9 8 21 18 3 18 3 8 21 6 3 25 18 12 18 6 3 3 12 7 9 18 18 12 18 12 18 12 15 9 15 15 3 12 12 12 25 25 25 25 6 9 12 21 21 18 6 25 8 8 18 12 25 6 9 15 8 6 21 18 18 9 21 15 9 12 6 6 3 6
p38
1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
21 12 9 3 21 6 3 25 9 18 25 3 9 21 18 15 15 18 26 12 3 1 6 18 25 9 3 25 6 25 6 26 21 26 21 21 25 25 1 15 1 15 25 9 25 15 1 21 28 9 26 15 15 6 14 21 18 28 1 15 1 6 21 28 12 12 25 1 10 25 21 14 12 18 25 9 25 21 3 10 21 8 21 18 3 18 18 8 21 6 18 25 18 12 8 25 3 3 26 14 9 18 18 26 3 12 18 12 15 9 18 3 3 12 12 6 25 25 6 25 6 9 12 14 21 1 6 25 1 26 1 12 25 6 21 15 18 26 21 18 1 9 14 15 9 28 26 6 3 6
p39
1 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1
21 12 21 15 14 6 3 25 15 18 25 14 9 21 3 15 15 18 26 12 3 1 6 18 6 9 3 25 6 25 30 26 21 26 21 21 25 25 1 15 1 15 25 29 25 15 1 14 12 9 30 15 15 6 14 21 18 26 1 15 1 6 21 12 12 12 25 1 6 25 21 21 12 18 25 9 25 21 15 25 21 8 21 18 18 18 18 12 21 6 3 25 18 12 8 25 3 18 26 21 29 18 18 26 3 30 8 12 15 29 15 29 3 12 12 26 25 25 25 25 6 29 26 14 14 1 6 25 1 26 1 12 25 6 29 15 8 6 21 18 1 9 21 15 9 12 26 6 3 6
p40
1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0
21 12 21 3 21 6 3 25 15 18 10 21 29 21 18 15 15 18 6 12 15 1 25 3 6 9 18 25 25 10 6 26 21 26 21 21 25 25 1 15 1 15 25 9 25 15 1 9 28 9 26 29 15 6 21 21 18 28 1 15 1 6 21 28 12 12 10 1 10 10 21 21 12 18 25 9 25 21 15 25 21 8 6 18 18 18 18 18 21 6 3 25 3 12 18 10 3 18 28 9 9 8 18 26 3 6 8 12 15 29 15 15 3 12 26 26 25 25 25 6 6 9 12 21 9 1 6 10 1 26 1 12 25 25 9 15 18 6 21 18 1 9 21 15 9 26 26 6 3 6
p41
1 0 1 1 1 1 1 1 1 1
7 7 5 7 8 10 4 8 9 4 5 7 3 7 3 8 8 4 9 7 7 7 5 5 7 6 6 5 6 6 9 1 1 1 4 10 3 7 7 10 3 8 4 4 4 1 1 6 6 1 5 7 7 7 3 8 3 9 9 9 1 9 7 6 1 7 7 7 1 1 1 1 5 1 8 8 3 3 7 6 8 3 10 8 10 10 10 10 10 10
p42
1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0
1 11 12 10 16 9 1 14 18 1 12 1 7 11 7 1 1 14 15 15 15 12 10 9 1 9 12 1 18 14 1 7 7 9 15 11 11 1 16 16 16 13 14 13 10 15 9 16 16 16 18 18 18 14 14 10 13 15 15 15 12 12 12 12 12 14 16 1 7 7 11 9 7 7 7 9 16 11 16 7
p43
1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0
7 1 7 24 24 21 1 22 1 6 6 24 24 10 13 7 9 22 13 13 1 10 21 21 21 24 29 7 29 6 6 24 24 24 1 10 2 13 9 7 13 13 29 24 6 10 10 21 10 7 22 1 10 7 7 7 9 21 24 6 6 29 2 6 29 29 2 2 29 29
p44
1 1 1 1 1 1 1 0 1 1
5 5 5 5 5 5 5 5 7 7 7 7 7 1 1 1 2 2 7 9 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 1 2 9 3 9 7 1 4 10 1 7 1 6 9 9 9 10 10 6 6 6 10 4 1 7 7 3 7 1 1 10 10 1 2 9 7 7 6 3 6 10 10 10 10 6 7 6 7 6
p45
1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0
16 1 1 1 1 1 1 2 2 7 7 7 2 7 7 3 4 4 3 4 3 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 1 1 3 4 5 13 16 15 14 4 16 6 9 14 15 14 14 1 15 16 4 3 13 3 1 9 14 14 9 13 2 2 16 13 14 9 15 15 9 15 7 14
p46
1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0
1 1 1 1 1 1 1 2 12 2 2 12 12 12 12 4 4 4 4 4 4 6 6 6 6 6 6 9 9 9 10 9 10 10 1 4 4 25 25 29 1 4 13 12 25 15 15 15 17 29 29 17 9 12 25 15 17 29 13 25 13 13 29 29 15 17 15 15 2 13
p47
1 1 1 1 0 1 1 1 1 1
3 3 3 3 3 3 3 2 3 3 2 3 2 2 2 3 2 1 3 1 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 7 7 7 7 7 7 1 3 1 4 4 4 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 7 8 7 1 8 8 8 8 8 1 1 1 1 9 1 9 9 9 10 10 10 9 9 10 10 10
p48
1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0
6 2 2 2 2 2 1 1 1 1 1 1 4 4 4 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 9 9 9 9 9 9 9 10 10 10 10 11 11 11 11 11 11 14 14 13 14 14 13 14 15 15 13 15 13 1 15 15 15 15 18 18 18 18 18 18 18 1 1 1 18 18 18 2 18
p49
1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0
1 1 1 1 1 1 1 1 6 6 6 6 6 7 7 7 7 7 7 7 7 7 10 10 10 10 10 13 13 15 14 14 14 15 14 15 17 17 17 17 17 17 21 21 21 21 21 21 22 13 22 21 1 24 24 24 24 24 2 2 29 2 2 2 29 29 29 29 2 29
p50
1 1 1 1 0 1 1 1 0 1
4 7 4 7 3 2 6 6 4 8 8 4 2 10 7 3 10 6 6 4 7 7 7 1 7 7 8 8 4 8 8 8 4 4 4 6 10 10 7 7 7 10 10 10 6 6 6 6 6 1 4 6 7 1 1 1 7 1 2 3 10 8 8 8 4 4 1 1 8 8 4 1 1 1 1 4 4 4 4 1 4 6 3 3 3 3 7 8 3 8 10 2 2 3 10 3 2 10 2 2
p51
1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 1
10 1 20 11 6 14 6 6 16 2 6 15 7 14 7 14 13 6 6 16 11 1 1 15 15 1 2 20 20 20 2 2 20 20 16 6 14 7 11 1 1 14 7 14 13 6 6 6 6 20 16 6 15 1 15 11 1 1 13 13 14 6 2 6 16 16 11 20 10 2 16 1 1 1 1 20 20 20 20 15 16 6 13 13 14 14 7 2 13 2 14 14 7 14 14 13 14 14 13 14
p52
1 0 0 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 4 5 5 5 5 5 5 5 5 9 4 9 9 4 4 4 9 6 10 10 10 10 6 6 10 10 7 7 7 7 7 7 7 7 7 7 8 8 5 9 9 6 6 4 1 7 8 6 4 4 4 5 7 10 6 9 1 1 10 8 1 8 7 7 5 4 4 6 4 5 8 6 7 4 9 6 6 4 4 8 6 4 6 10 10 7 6 7 4 5 4 8
p53
1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1
7 6 6 6 6 6 6 6 2 20 20 8 20 8 8 8 8 14 13 14 13 14 13 13 4 16 10 10 10 10 10 10 10 16 19 19 19 19 19 19 19 19 19 19 6 6 8 14 13 16 16 4 8 19 6 16 4 4 2 7 19 10 16 14 1 14 10 6 8 6 19 19 7 4 4 14 4 7 7 16 19 20 4 16 16 4 2 7 16 2 16 10 10 16 16 19 2 7 2 6
p54
1 1 1 1 1 1 1 1 1 1
3 8 8 8 8 8 8 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 4 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 9 9 9 9 9 9 9 9 9 4 7 7 7 7 7 7 7 7 7 6 6 7 6 6 6 7 7 5 5 7 5 6 10 5 5 5 5 7 5 5 5 1 5 1 1 1 1 1 1 1 1 1 10 10 10 5 10 10
p55
1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0
18 19 18 19 18 9 9 19 9 9 9 9 3 9 3 3 3 3 9 7 15 7 3 7 7 3 7 7 7 7 15 7 15 7 7 7 7 7 7 1 1 1 1 1 1 1 8 1 8 1 8 7 8 8 8 8 8 8 8 8 8 10 14 8 10 8 8 1 8 10 10 8 10 14 18 14 10 14 10 10 14 16 16 16 16 16 16 16 16 16 16 19 19 19 19 18 19 19 19 19
p56
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 16 28 23 29 5 29 14 2 29 19 2 21 23 1 19 17 6 25 11 19 28 20 27 3 15 20 5 17 29 13 21 9 25 16 19 10 7 27 9 20 14 22 20 15 25 17 22 17 9 7 12 10 19 26 5 1 8 9 4 12 6 15 29 26 19 13 7 10 24 24 21 24 9 17 24 1 10 26 30 14 20 6 28 8 12 7 26 26 6 4 19 7 1 29 29 16 13 19 5 1 5 25 23 4 27 5 28 12 13 9 29 8 15 9 27 12 29 7 27 17 3 12 27 15 29 25 12 21 2 10 4 4 29 11 13 23 13 12 26 3 25 16 28 26 25 29 24 1 14 12 3 17 4 14 14 28 11 25 6 28 6 5 4 22 2 21 20 11 27 3 1 11 30 11 6 22 3 7 13 10 29 24 1 22 3 22 7 5 8 13 8 16 11 20
p57
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 16 28 23 18 30 18 14 2 29 19 2 21 23 1 19 17 6 25 11 19 28 15 30 3 20 5 5 17 28 7 21 9 25 17 19 10 7 27 21 20 14 22 20 15 25 25 25 17 9 7 12 10 19 26 5 1 8 21 14 12 6 15 18 26 8 13 7 10 24 14 21 11 9 17 11 1 10 26 30 21 7 6 28 8 29 7 26 26 6 4 12 7 1 29 29 16 26 19 5 1 5 25 23 4 20 5 19 7 13 21 29 8 18 9 27 26 18 20 27 17 3 12 27 18 29 25 26 21 24 10 4 4 29 11 13 23 12 12 26 3 17 16 28 26 25 29 24 1 9 29 3 16 14 4 14 28 24 25 6 28 6 5 4 22 2 21 20 15 27 3 1 11 30 11 6 22 22 7 13 9 29 24 1 22 3 22 7 5 8 13 8 16 11 20
p58
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 16 28 23 29 5 29 14 2 29 19 2 11 23 1 19 17 6 25 11 19 23 15 30 3 20 20 5 17 28 7 21 9 25 16 19 10 7 27 9 20 4 22 20 15 28 17 25 17 9 7 12 10 19 26 30 1 8 9 14 26 6 15 7 13 8 13 7 10 24 14 21 24 9 17 11 1 27 26 30 14 7 6 28 8 29 7 26 26 3 4 12 7 1 29 29 16 12 19 5 1 5 25 23 4 20 5 28 13 13 9 29 8 18 9 27 12 29 20 27 17 3 12 27 18 29 25 26 21 24 10 4 4 29 11 13 23 12 12 26 6 25 16 28 26 25 18 24 1 9 12 3 16 4 14 4 28 24 25 6 28 6 5 4 22 2 9 29 15 27 3 1 11 30 11 6 22 3 20 13 9 29 24 1 22 3 22 7 5 8 13 8 22 11 20
p59
0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1
20 7 3 25 16 13 16 29 19 29 5 29 14 2 29 19 2 11 17 18 26 17 11 3 11 19 17 15 30 3 20 20 5 17 18 7 15 14 17 16 19 11 7 5 14 20 11 17 15 15 25 25 3 17 11 7 26 15 19 26 30 3 26 11 11 13 3 15 29 26 19 13 20 15 24 24 14 24 14 25 11 18 15 26 30 14 5 3 25 19 7 20 26 26 3 2 29 7 18 29 29 16 13 19 30 25 5 25 17 14 20 5 19 7 13 15 20 26 15 14 15 29 18 20 5 17 3 13 20 18 18 25 13 14 24 11 2 14 29 15 7 25 13 13 26 3 25 16 19 13 25 18 24 29 14 26 3 16 14 14 2 18 11 25 11 29 24 5 2 3 2 11 18 18 5 17 18 24 30 15 3 16 25 7 7 24 29 24 18 16 25 17 7 30 26 13 19 16 11 20
p60
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 22 13 16 28 23 29 27 29 24 2 7 19 2 21 23 1 19 17 6 25 24 19 25 20 30 22 20 20 5 17 28 7 21 9 25 17 19 10 7 5 9 20 14 22 20 15 25 17 25 17 21 7 12 10 8 8 30 1 8 9 14 12 6 15 29 26 19 13 20 10 24 24 11 24 9 25 11 1 10 26 30 14 7 6 28 8 29 7 26 26 3 4 29 7 1 29 29 16 13 19 5 1 5 25 23 4 15 5 28 13 13 9 29 26 18 9 27 12 18 20 27 17 3 12 27 18 12 25 26 21 2 10 4 4 29 11 7 23 13 12 26 6 25 16 28 26 25 18 24 1 21 12 3 16 4 14 4 28 11 25 6 25 6 5 4 16 2 11 20 15 5 3 1 11 30 11 6 16 3 7 13 9 29 24 1 22 3 22 7 5 8 13 8 16 24 20
p61
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 16 28 23 29 5 29 14 2 29 19 2 21 23 1 19 17 6 28 11 19 28 20 30 22 20 20 27 17 28 7 21 9 25 17 19 10 7 5 9 20 14 22 20 11 25 17 3 17 9 7 12 10 19 8 30 1 8 9 4 12 24 18 20 26 8 13 20 10 24 24 21 24 10 17 11 1 10 8 30 14 7 6 28 8 29 7 26 12 3 4 12 13 1 29 29 16 26 19 30 1 5 25 23 4 20 5 28 13 13 9 29 8 18 9 27 19 18 20 10 17 22 12 20 18 29 25 26 11 24 10 4 4 29 11 13 23 13 12 26 6 25 16 28 26 25 18 11 1 21 12 3 16 4 14 2 25 24 25 6 28 6 5 2 22 2 21 20 11 27 3 1 11 30 11 6 22 3 20 13 9 29 24 1 22 3 22 7 5 8 13 8 16 11 20
p62
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 16 29 23 29 5 29 14 2 29 19 2 11 23 1 19 17 6 25 11 19 23 20 30 3 20 20 5 17 28 7 21 9 25 17 19 10 7 27 9 20 14 22 20 15 25 17 25 17 21 7 12 10 19 8 30 1 8 9 14 12 6 15 29 26 19 13 7 10 24 24 21 24 9 17 24 1 10 26 5 24 7 24 28 8 29 20 26 26 3 4 29 7 1 29 29 16 26 19 5 1 5 25 23 4 20 20 28 13 13 9 29 8 15 9 27 12 29 20 10 17 3 12 27 3 29 25 26 11 24 9 4 4 29 21 13 23 12 12 26 6 25 16 28 26 25 21 24 1 9 12 3 16 4 14 14 28 11 25 6 28 6 5 4 22 2 21 20 15 27 3 1 11 30 11 6 16 22 7 13 10 13 24 1 22 3 22 7 5 8 13 8 16 11 20
p63
0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1
26 7 3 25 3 26 3 18 19 29 5 29 14 14 29 19 14 11 25 25 19 17 3 17 11 19 25 18 30 3 5 5 30 17 19 7 15 14 25 17 19 15 7 5 14 29 14 3 15 15 25 17 3 17 14 29 19 15 19 26 5 3 26 11 14 26 24 29 29 26 19 7 7 15 24 14 11 11 11 17 24 18 5 26 30 24 5 3 25 19 7 7 26 26 18 14 29 29 18 18 29 17 26 19 5 18 5 25 25 14 15 5 19 7 7 14 29 26 18 14 15 26 29 18 5 17 3 29 5 18 29 25 26 11 14 15 14 24 29 11 7 19 7 26 26 3 25 17 19 26 25 18 24 18 14 7 3 17 14 24 14 29 11 25 24 29 24 5 14 3 24 11 18 15 30 3 18 15 30 11 11 17 3 7 7 11 29 24 25 25 3 17 7 30 26 7 26 3 24 7
p64
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 3 28 3 13 16 28 23 29 5 29 14 2 29 19 2 21 23 1 19 17 6 25 11 19 28 20 30 3 7 20 27 17 28 7 21 9 25 16 19 10 7 5 9 27 14 22 20 15 25 17 25 17 9 7 12 10 19 8 30 1 8 9 14 13 6 15 7 26 19 13 20 10 24 24 21 24 9 17 11 1 21 8 30 11 7 6 28 8 29 7 8 26 25 14 12 7 1 29 29 16 26 19 5 1 5 25 23 4 20 5 19 13 13 9 29 8 18 9 27 12 18 20 27 17 3 12 27 18 12 25 12 11 24 10 4 4 29 11 13 23 12 12 26 6 25 16 28 26 25 18 24 1 9 29 3 16 14 14 14 28 11 25 6 28 6 5 4 3 6 21 20 15 27 3 1 11 30 21 3 22 3 7 13 9 29 24 1 22 3 17 7 5 8 13 8 16 11 20
p65
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
19 20 3 28 3 13 16 28 23 29 5 29 11 2 20 19 2 21 23 1 19 17 6 25 24 19 28 20 30 22 7 5 5 17 28 7 21 9 25 17 19 10 7 5 9 20 14 22 29 15 25 17 3 17 9 13 12 10 19 8 5 1 26 9 14 12 24 15 29 26 19 7 7 10 6 24 21 11 9 17 11 1 10 26 30 11 7 3 28 8 18 7 26 26 6 4 12 7 1 29 29 16 26 19 5 1 5 25 23 4 20 5 28 13 13 9 29 8 18 9 10 12 18 20 10 17 3 12 5 18 12 22 26 21 2 10 4 4 29 11 13 23 12 26 26 6 25 16 28 26 25 18 24 1 9 12 3 16 4 14 14 28 11 25 11 28 6 5 4 22 2 21 29 15 5 3 1 11 30 15 6 22 22 20 13 9 29 24 1 22 3 22 7 7 8 13 8 16 11 20
p66
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 3 28 3 13 16 28 23 29 5 29 14 2 20 19 2 11 23 1 19 17 6 25 11 19 25 20 30 3 20 20 5 17 28 20 21 9 25 16 19 10 7 5 21 20 4 22 20 15 25 17 25 17 9 7 26 10 19 8 30 1 8 21 14 12 6 18 29 26 19 13 20 10 24 11 21 24 21 17 24 1 27 26 30 21 7 24 28 8 29 7 26 26 3 4 12 7 1 29 29 16 13 19 5 1 5 25 23 4 20 5 28 13 13 9 29 8 18 9 27 19 18 20 27 17 22 12 27 18 29 25 26 21 24 10 2 4 29 11 13 23 29 12 26 6 25 16 28 26 25 29 24 1 4 12 3 16 4 14 14 28 11 25 6 28 6 5 2 22 2 21 20 15 27 3 1 11 30 11 6 22 22 20 13 9 12 24 1 22 3 22 7 5 8 13 8 16 11 20
p67
0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1
26 7 3 19 3 7 3 29 25 29 5 18 14 14 29 19 11 11 19 18 19 3 24 18 24 19 25 18 30 3 5 7 5 3 29 7 15 14 18 25 19 15 7 5 14 5 11 25 29 15 3 25 18 3 15 7 19 11 19 26 5 18 19 15 14 26 24 15 29 26 19 7 5 15 24 24 11 24 11 25 11 18 15 26 5 14 7 24 19 26 18 7 26 26 3 14 18 7 18 29 29 3 26 19 5 25 5 3 19 14 15 5 25 7 26 14 29 26 18 11 11 29 18 7 5 25 3 26 5 18 29 25 26 11 24 15 14 14 29 11 7 19 26 26 7 24 25 3 19 26 25 18 24 18 14 29 3 25 14 14 14 18 11 25 11 19 24 5 14 25 24 15 15 15 5 3 25 11 30 11 3 3 25 7 7 14 29 24 18 25 3 25 7 5 26 7 19 3 24 7
p68
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 22 13 16 28 23 29 5 29 14 2 29 19 2 21 23 1 19 17 6 25 11 19 28 20 30 3 20 20 5 17 28 7 21 10 25 17 19 9 7 5 9 20 14 22 20 15 25 17 25 17 9 7 12 10 23 26 30 1 8 9 14 12 3 15 29 26 19 13 7 10 24 24 21 24 9 17 11 1 21 26 30 14 7 6 28 8 29 7 26 26 6 4 12 13 1 29 29 16 13 19 5 1 5 25 23 4 20 5 28 13 13 9 18 26 18 9 27 12 18 20 27 22 3 12 27 18 29 25 26 21 24 10 4 14 29 11 13 23 29 12 26 6 25 16 28 26 28 18 24 1 9 12 3 16 4 14 14 25 11 25 6 28 6 5 4 22 2 21 29 15 27 3 1 11 30 11 6 22 3 7 13 9 13 24 1 22 3 22 7 5 8 13 8 22 11 20
p69
1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 7 22 28 3 13 16 28 23 18 5 18 11 14 29 19 4 21 23 1 19 17 6 25 11 19 28 20 30 3 20 20 5 17 28 13 21 9 25 17 19 9 7 5 9 20 21 22 20 15 25 17 25 17 9 7 12 27 19 26 30 1 8 9 14 13 6 15 20 26 19 13 7 9 6 24 21 6 9 25 11 1 27 26 30 14 7 6 28 8 29 7 26 26 6 4 12 7 1 29 29 16 26 8 5 1 5 25 23 4 20 5 28 7 13 9 29 8 15 9 27 26 18 5 27 17 3 12 27 15 29 25 26 21 24 9 4 4 29 11 13 23 12 12 26 6 25 16 28 26 25 18 24 1 9 29 3 16 4 14 14 28 11 25 6 28 6 5 4 22 6 9 20 15 27 3 1 11 30 21 6 22 3 20 13 9 29 11 1 22 3 22 7 5 8 12 8 16 11 20
p70
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 20 22 28 3 13 22 28 23 29 5 29 14 2 29 19 2 21 23 1 28 17 6 25 11 19 28 20 30 3 20 20 5 17 28 7 21 9 25 16 19 21 7 5 9 20 14 22 20 15 25 17 3 17 9 7 12 10 19 8 5 1 8 9 14 12 6 18 29 26 23 13 7 10 24 24 21 24 9 17 11 1 10 26 30 14 7 6 28 8 29 7 26 26 3 4 12 7 1 29 29 16 13 19 5 1 5 25 23 4 20 5 28 13 13 9 29 8 18 9 27 12 18 20 27 17 3 12 27 18 29 25 26 21 24 10 4 14 29 11 12 23 12 12 26 6 23 22 28 26 25 18 24 1 9 12 3 16 4 14 14 28 11 3 6 28 6 5 4 22 2 11 20 11 27 3 1 15 30 11 22 22 3 20 13 9 29 24 1 22 3 22 7 5 8 13 8 22 11 20
p71
0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1
3 20 3 19 3 13 16 29 19 29 5 29 11 24 29 19 24 11 17 25 19 25 24 25 11 26 25 15 30 3 20 20 5 17 29 13 15 11 25 16 19 15 13 30 14 20 14 3 20 15 25 17 25 17 11 13 26 15 19 26 30 3 19 11 11 26 24 15 20 26 19 26 20 15 24 24 11 24 14 17 24 18 15 26 30 14 7 11 25 19 29 7 26 26 3 14 29 7 18 18 29 3 26 19 30 25 5 17 19 14 20 5 19 7 13 14 18 26 18 14 15 13 18 20 5 17 16 13 20 18 18 25 26 11 11 15 14 14 29 11 13 25 29 26 26 18 25 17 19 26 25 18 11 18 14 29 16 16 14 14 14 29 24 25 24 19 24 5 14 16 24 11 20 15 5 3 18 11 30 11 16 16 3 7 13 14 29 24 18 3 25 17 7 5 26 13 26 16 15 7
可以看出,模拟退火算法的结果较好,但运行时间比贪心稍长。