Capacitated Facility Location Problem

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];
}

算法运行结果:

nameresulttimes
p194400s
p281260s
p3101260s
p4121260s
p593750s
p680610s
p7100610s
p8120610s
p990400s
p1077260s
p1197260s
p12117260s
p13120320s
p1491800s
p15131800s
p16171800s
p17120320s
p1891800s
p19131800s
p20171800s
p21120320s
p2291800s
p23131800s
p24171800s
p25192740s
p26162080s
p27216080s
p28270080s
p29193050s
p30162390s
p31216390s
p32270390s
p33190550s
p34159890s
p35213890s
p36267890s
p37190550s
p38159890s
p39213890s
p40267890s
p4172260s
p4299570s
p43124480s
p4479110s
p4598480s
p46126390s
p4769860s
p4890440s
p49124200s
p50103060s
p51113510s
p52103640s
p53124700s
p54104800s
p55119700s
p56238820s
p57328820.001s
p58538820s
p59391210s
p60238820s
p61328820s
p62538820s
p63391210s
p64238820s
p65328820s
p66538820s
p67396710s
p68238820s
p69328820s
p70538820s
p71391210s

算法结果
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;
}

结果表格

nameresulttimes
p192420.01s
p279680.012s
p399660.011s
p4115740.011s
p590020.012s
p680440.014s
p798910.013s
p8115910.015s
p990050.008s
p1076430.01s
p1192260.011s
p12107610.01s
p1390250.011s
p1474390.011s
p15106990.013s
p16116350.009s
p1791220.011s
p1875890.01s
p19100490.009s
p20117960.01s
p2191540.008s
p2280040.008s
p2394370.01s
p24116020.009s
p25148890.009s
p26144610.011s
p27171040.009s
p28186750.008s
p29169520.009s
p30139080.009s
p31178200.008s
p32204580.008s
p33163610.007s
p34142490.008s
p35164700.008s
p36181120.007s
p37163240.008s
p38136040.009s
p39161670.01s
p40187770.01s
p4172210.01s
p4281390.009s
p4370310.01s
p4473260.01s
p4584770.011s
p4676050.01s
p4766010.009s
p4874490.008s
p4972980.01s
p5095160.009s
p51105580.009s
p5298650.01s
p53108550.009s
p5496820.01s
p55102970.009s
p56279990.01s
p57352430.009s
p58527000.008s
p59390510.009s
p60268390.01s
p61356550.01s
p62498610.01s
p63381570.009s
p64280850.009s
p65373890.009s
p66536550.009s
p67394380.01s
p68282840.01s
p69341910.009s
p70530770.009s
p71399040.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

可以看出,模拟退火算法的结果较好,但运行时间比贪心稍长。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值