数据公正性分配算法Lv1【这题做了我两天两夜,现已达到极限,高手们继续】
本帖最后由 binghc 于 2011-9-18 19:26 编辑好激动!!这题做了我整整两天两夜,现在终于做出来了,有图有真相!
题目:一小岛上有一金库,A、B、C 三人同时发现了它。但是这座金库有一守卫,守卫对他们三人说,这里有大大小小总共1290块金块,每条金块上刻着一数字,说明它的重量,总重量为424573.66。还有刚好1290只袋子,和三条载货船。
每条船只最大承重141525。还有三条就救生艇,只能载人,不能载金块。
现在守卫对他们说,要想拿走金子,必须给每条金子装上一袋子,一袋子只能装一条金块。装完后你们可以把这些袋子装上载货船,并告诉他们每条货船最多只能装430个袋子,然后他们坐在救生艇上,中间拉一绳子,用救生艇拉着货船,然后就可以离开这小岛了。
现在问,这三个人,他们该如何用分配这座金库,才能把所有的金子都拿走?
这是个小故事,我觉得这样可能会更容易让大家对这题产生兴趣。这题也是对具体问题的抽象,比我原先给你一堆数字,然后告诉你这数字要怎么怎么换来的更抽象,因为,你还得分析这题,然后把它转换后数学模型,然后你才能动手写算法。
现在各位就直接看上面的故事型题目,下面的数字就是每块金块上刻着的数字,表示它的重量。开始吧……
注:为让其他人也玩玩这道题,请将您的算法隐藏14311.83 7822.88 5766.21
4812.6 5205.2 5577.24
4809 4448.39 4400
3712 3726.48 3794.8
3711.1 3529.8 3336
2866.83 2988 2999.86
2863.37 2862.5 2579.19
2428.47 2437.8 2460
2240.2 2020.36 2000
1960 2000 2000
1950 1894.35 1821
1681.18 1706 1755.32
1580.97 1580 1579.83
1448 1448 1449.7
1442.12 1400 1371.14
1306.27 1319 1327.6
1291.68 1272 1171
1104 1104 1130.52
1100 1100 1083.91
1076 1078.3 1083.47
1059.77 1059.2 1054
1014.7 1037.85 1044.06
1014.7 1007.12 999.38
980 985.38 991.24
980 980 972.96
953.56 958.37 962.05
931.32 919.4 905.8
860.28 862.4 897.04
842.15 837.81 823
817.31 821.85 823
816.98 810.79 800
778.28 782.99 788
775.2 770.12 747.22
729.6 735.68 738.5
723.32 717.53 716.43
693 704.3 708.8
692.34 689 689
675.62 675.82 683.8
673.5 670.08 669.1
645.7 665 665.54
638.02 635.15 633.88
628.49 629.4 630
620.65 615.48 615
600.1 602.42 606.63
600 582.3 579.14
567 568 572
565.8 561.9 558.47
556.08 556.45 557.78
550.97 550 546.55
542.57 543.68 544.31
541.33 538 537.42
531.17 532.26 537.42
531 530.9 530
523.51 524.62 527.18
522.58 522.58 519.7
514.07 516 518.16
514.03 512.9 510.32
509.62 509.74 510.01
509.54 505.55 503.8
500.73 500.9 502
488.71 488.71 488
476.93 478.71 480.04
474.06 472.26 470.08
460.65 462.95 468
456.77 456.77 456.76
455 455.31 455.98
450 450 449.1
446.74 447.3 449.03
446.65 445.49 443.8
438.6 441 443.23
437.78 430.25 430.24
425.81 427.13 428.55
425.81 425.81 417.98
415.71 415.92 417.29
415.05 414.83 412.75
410.32 410.32 411
408.38 406.9 404.87
402.58 404.27 404.32
402.58 401.33 400.87
400 400 400.44
399 398.71 393.54
392 392 392.08
390.97 390.63 386.71
384.82 385.68 386.71
384 383.23 382.52
381.33 382 382.2
378.93 378.15 378.02
378 378 378
378 378 378
375.08 376.65 377.6
375.02 372.86 371.02
369.87 371 371
369.87 369.87 369.54
368.03 369 369
367.75 365.48 364
363.87 364 364
363.11 363.09 362.88
358.66 359.95 361.54
356 355.22 350.9
350.15 350.44 350.84
350 350 349.53
347.59 349.46 349.5
345.51 344.33 343.04
334.2 335.4 339.04
332.04 332 331.94
331.44 331.45 331.86
329.8 327.7 327.48
327 327 327.4
325.08 324.28 324
322.45 323 323.5
322.45 321.82 320.33
319.29 319.47 320.13
318.5 318.2 318
317.4 317.75 318
317.4 317.18 315.09
315 315 315
315 315 313.73
310.28 311.02 312.97
309.42 306.14 305
304.19 304.5 304.87
304 304 303.8
300 300.32 302.24
298.87 297.58 294
292.4 293.98 294
290.11 289.7 289.33
287.85 288.74 289
287.82 286.29 285.97
283.28 284 285.42
281.64 280.93 280.65
278.66 279.46 280.5
276.4 275.97 275.25
273.33 274.1 274.4
271.74 271.68 271.13
265.5 265.5 270.77
264 263.06 259.2
256.6 258 258.11
255.26 254.8 252.31
252 252 252
252 252 251.74
249.73 251.3 251.53
249.08 247.29 246.98
246 246.4 246.77
245.2 245.05 244.58
243.87 244 244.45
243.6 242.97 242.03
240 240 241.52
240 239.44 238.56
237.96 238.04 238.44
237.32 236.65 236.4
235.23 235.8 236.13
234.13 231.93 231.74
227.16 229.56 230.4
226.01 225.6 225.23
224.56 224.7 224.8
224.07 223.71 223.63
221.8 222.07 222.13
221.6 220.87 220.65
220 220.5 220.65
219.78 216.9 216.77
213.42 214.3 214.51
212.9 212.9 212.83
212 212 212
211.43 211.3 211.14
209.67 210 210
209.17 209.13 209.1
208.6 209 209.03
208.27 208.18 208.1
207.46 208 208.06
207 207 207
205.97 206.54 206.97
205.4 205 205
203.49 203.54 203.65
203.15 202.78 202.04
201.58 202 202
201.17 200.31 200.31
200 200 200
199.28 199.2 198.92
198 198 198.71
197.42 197.1 196.8
195.7 196 196
195.14 195 194.9
193.8 194 194.28
193 192.84 192.71
191.81 192.39 192.67
190.81 190 189.68
189 189.14 189.15
187.7 187.52 187.5
186.4 187.18 187.28
185.78 185.35 184.8
184.52 184.7 184.74
184.5 183.7 183.61
181.17 183.38 183.4
180.8 180.6 180.19
179.5 180 180.19
179.4 179.4 179
178.2 178.78 178.83
178.06 178 177.03
176.12 176.13 176.91
175.2 175.02 175
171.5 172.4 174.19
171.4 169.17 168.65
166.8 167.55 167.57
166.45 166.29 165.94
164.52 165.02 165.5
164.16 164.14 163.91
163 163.43 163.72
162.96 162.71 162.7
161.46 162 162.1
161.45 161.2 160.42
160 160.04 160.37
159.6 159.43 159.28
159 159.1 159.26
158.84 158 158
155.13 156.44 157.99
155.03 154.84 154.81
154.66 154.68 154.77
154.21 153.4 153.38
153.23 153.33 153.33
153 152.2 152.13
151.21 151.83 152.06
151.16 151.06 149.55
148.87 149.07 149.21
148.58 148.5 148
147.1 147.35 148
146.44 146.43 146.4
145.89 146 146
145.83 145.76 145.71
144.1 144.47 144.87
144 143.8 143.18
140 141.9 142
140 139.88 139.65
138 139.24 139.52
138 138 138
136.1 137.21 138
135.94 135.4 135.2
134.5 134.5 135.15
134.5 134.14 133.87
133 133.14 133.6
132.92 132.6 132.12
131.75 132 132
131.74 131.29 131.1
130.39 130.4 130.43
130.3 130.17 130.08
128.9 129 130
128.45 128.36 128.26
127.61 127.97 128.26
127.51 127.36 126.88
126.64 126.78 126.86
126.27 126.1 125.23
124.76 124.95 124.99
124.64 124.39 123.8
123.4 123.64 123.68
123 123 122.9
121.6 121.7 122.05
121.59 121.56 121.4
121 121.25 121.3
120.9 120.84 120.35
120.21 120.25 120.26
120.01 120 120
120 120 120
119.3 119.28 119.28
119.05 119.14 119.26
119 118.35 118.29
117.82 118 118.16
117.73 117.6 117.3
116.97 116.97 117.19
116.97 116.97 116.31
116.09 116.09 116.13
116.08 116.04 115.49
114.52 114.63 115.35
114.52 114.15 114
113.68 113.81 114
113.5 113.34 112.96
112.58 112.59 112.87
111.68 111.51 111.27
110.39 110.65 111.02
110 108.83 108.6
108 108 108.3
108 108 107.6
106.52 106.88 107.6
106.52 106.5 106.45
106.02 106.05 106.05
106 106 106
105.32 105.4 105.54
105.3 105.14 105.08
103.55 104.24 104.61
103.22 102.48 102.18
101.16 101.21 101.56
100.76 100.43 100.13
100 100 100.11
100 100 100
100 100 100
100 100 100
100 100 100
100 100 99.39
99 99.09 99.18
98.55 98.42 98.35
97.74 97.8 98
97.6 97.49 97.22
96.12 96.31 96.58
96 96 96
94.81 95 95.96
94.66 94.52 94.52
94.16 94.25 94.44
93.73 93.6 93.58
92.2 92.46 93.35
92.11 92 91.83
90.9 91.49 91.64
90.69 90 90
89.68 89.68 89.7
89.51 89.43 89.4
88.9 89.1 89.33
88.76 88.68 88.41
88 88.06 88.1
88 88 87.6
87.36 87.37 87.6
86.99 86.94 86.81
86.5 86.6 86.67
86.29 86 86
84.7 85.3 86
84.48 83.39 83.25
82.61 82.8 83.19
82.2 82 82
82 82 82
81.64 81.45 81.13
80 80.46 80.48
80 79.76 79.72
79.52 79.52 79.52
79.52 79.52 79.52
79.44 79.44 79.47
79.44 79.28 79.1
78.38 79 79.01
78.28 78 78
77.42 77.7 78
77.34 77.2 77.2
76.94 77 77.1
76.53 76.52 76.18
75.98 75.99 76.04
75.84 75.1 75.09
74.65 74.65 75
74.56 74.2 73.2
72.92 72.93 73.17
72.84 72.55 72.3
72.2 72.25 72.3
72.2 72.02 72.01
72 72 72
72 72 72
71.31 71.6 71.8
71.26 71.23 71.1
70 70.3 70.7
70 70 70
70 70 70
70 70 69.76
68.3 69 69.18
68.26 67.74 67.72
66.18 66.9 67.45
65.9 65.54 65.3
64.8 65.2 65.24
64.52 64.52 64.44
64 64 64
64 63.7 63.45
62.09 62.16 62.2
62 62 61.96
60.19 60.8 61
60 60 59.78
59 59.1 59.66
58.54 58.4 58.06
56.43 56.84 57.5
56.29 56.2 56.08
55.8 55.97 56
55.58 55.53 55.53
55 55 55
55 55 54.76
54.3 54.7 54.72
54 54 54
53 53.46 53.57
52.83 52.62 52.14
51.8 51.96 52
51.01 50.58 50.51
50 50.04 50.16
50 50 50
50 50 50
50 49.63 49.4
48.88 49 49.07
48.52 48.48 48.39
48.23 48.39 48.39
48.16 48 48
47.44 47.44 47.5
47.42 47.26 47
46 46.49 46.61
46 46 45.63
45.15 45.34 45.46
45 45 45
44.72 44.72 44.79
44.72 44.59 44.29
44 44 44.15
43.2 42.88 42.26
42 42.12 42.18
42 42 41.91
41.4 41.6 41.64
41.2 41 40.75
40.61 40.72 40.74
40.2 40.02 40
39.76 40 40
39.76 39.76 39.72
39.1 39.28 39.4
38.97 38.94 38.64
38.5 38.6 38.63
38.34 38.28 38.23
37.16 37.31 37.6
37.08 36.82 36.77
36 36 36.57
35.6 35.52 35.3
34.62 35 35.06
34.29 34.07 34
33.6 33.78 33.8
33.47 33.24 33.2
32.82 32.95 33
32.8 32.48 32.2
32 32 32
32 32 32
32 32 32
32 32 32
31.8 32 32
31.73 31.61 31.47
31.06 31.06 31.12
31.06 31.06 30.92
30.47 30.84 30.85
30.41 30.3 30.29
30.18 30.2 30.23
**** Hidden Message ***** 贴上来的数据格式已经没了,附件已上传,我不知道下载这附件要不要钱,如果要钱就把这里的数据复制出来,然后正则替换成tab符,再到excel编辑 规划求解的问题? 本帖最后由 happytc 于 2011-9-14 07:36 编辑
不会想大家帮你完成作业吧!
另外,什么叫“水平调整数据位置”?
指一行中的三个数据任意换位置,并且可以对任意一行这样交换? 回复 4# happytc
我敢说你绝对是个新手,像这种题目,对任何一个普通的程序员都是难得的代码经验,
另外对你疑问,给你个建议,看问题要看根本,给你点儿提示:有没有发现这些数据排列的很有规律? 本帖最后由 happytc 于 2011-9-14 08:12 编辑
回复 5# binghc
笑……
嗯,写过至少几十万行代码的新手!
那有耐心去看什么你的数据有规律
一般出这种的,都差不多是同样目的,不然,先自己给份代码,让别人看看能不能给出更优秀的代码 回复binghc
笑……
嗯,写过至少几十万行代码的新手!
那有耐心去看什么你的数据有规律
...
happytc 发表于 2011-9-14 08:09 http://www.autoitx.com/images/common/back.gif
赞同happytc的说法。
excel本身就有规划求解加载宏了,楼主的提问至少也应该拿出自己的见解及代码吧。 回复 5# binghc
用这种勾引方式行不通啦。你自己先上代码再说! 叫楼主先贴代码上来,那楼主出题还有意义吗? 楼主的目的是让大家发散思维,何以见得是要帮他完成作业?我觉得这个问题根本难不倒楼主。我以前出的那些题,也是差不多最后才给出自己的代码的。这里的讨论气氛不如以前了啊,以前出题都是争着作,现在出题会被人认为是 要别人帮自己完成作业。 这是个难题,还真不知道用什么算法来做 回复 1# binghc
楼主请贴出你的结果(每列的和是多少?) 回复 9# pusofalse
感谢P版的理解和支持
要做这题不容易,很难,但实际应用中会更难,现在只是3列数据,实际中可能N列数据 说实话,没看明白题目到底是什么意思 回复 9# pusofalse
虽然我不会AU3,但P版的一切行为我大力支持!
P版有空也出几道题吧!活跃一下论坛!
我负责加分! 感觉横向移动只能实现趋近平均值,不能达到最好效果。
vba写的,启用宏后点那个按钮即可,代码已加密。