Traveling Salesman Problem-Statement of work

来源:互联网 发布:红轴兼容mac 调节声音 编辑:程序博客网 时间:2024/04/30 06:12

这个问题大名鼎鼎,不多废话。这里是一个变形。

  • 访问500个城市,500个城市全连通
  • 可以从任意一点开始,不要求回到原点。
  • 一分钟之内至少给出有一个解

坐标放在一个cities.dat文件内,格式如下:

0:0:0
1:20:80
2:10:10
....
....
499:1000:210
坐标范围0-10000

输出格式:

距离:路径

eg 100000:0,1,2,3,4,5,6......498,499

距离取整即可。

以下是cities.dat的内容:

0:7508:4881
1:4194:5198
2:1827:5155
3:234:1122
4:259:607
5:2461:3851
6:3200:2630
7:1152:7225
8:5608:1566
9:3615:6078
10:9772:6466
11:4137:3390
12:3912:1407
13:7108:4424
14:5075:8021
15:9273:5083
16:9721:8956
17:2041:6638
18:487:1935
19:9788:4044
20:2520:9111
21:5098:8
22:7849:1401
23:6868:2007
24:1221:2490
25:2227:4449
26:5831:2189
27:8202:3153
28:2405:3833
29:4063:4338
30:49:5418
31:293:5323
32:2318:9147
33:5115:9098
34:6936:9084
35:4512:9982
36:2608:1605
37:6690:2536
38:1354:8327
39:6900:927
40:9817:6199
41:3578:929
42:7964:4459
43:1726:1749
44:8630:3129
45:4478:9860
46:6344:2736
47:8788:2042
48:8860:9961
49:6176:9802
50:9853:8883
51:4471:2369
52:6193:2521
53:1482:456
54:8252:4362
55:6549:7966
56:6679:4544
57:900:3836
58:4069:404
59:2745:1207
60:4978:6070
61:8067:6105
62:2715:775
63:3026:2817
64:6347:597
65:8925:8162
66:6355:3302
67:5668:1828
68:2385:978
69:4656:4977
70:1520:150
71:7054:4293
72:525:4066
73:8359:3675
74:481:6838
75:5231:745
76:7276:4118
77:5482:376
78:6359:19
79:7214:2411
80:5215:4938
81:7997:5778
82:1996:4000
83:44:6170
84:3730:780
85:2334:9494
86:2572:6018
87:5587:8265
88:3510:5994
89:1062:3139
90:1973:261
91:9093:6765
92:4789:3424
93:8312:2161
94:2906:642
95:1497:2774
96:9340:1557
97:8965:6435
98:767:2322
99:5479:392
100:6212:423
101:1574:9592
102:1258:1986
103:5263:5428
104:1227:6243
105:5049:7108
106:1756:6864
107:178:2860
108:220:4824
109:9085:3139
110:6428:2505
111:1955:3044
112:6033:3712
113:8341:6109
114:5098:9300
115:5787:6678
116:9252:3088
117:371:3041
118:5867:7756
119:5133:8512
120:2708:5416
121:7301:2651
122:1478:2522
123:272:9807
124:9710:3844
125:1264:7174
126:9431:5156
127:607:9547
128:6044:9350
129:3574:2960
130:5856:5654
131:722:4403
132:5710:6641
133:7658:9800
134:3126:2722
135:183:7438
136:420:8803
137:5737:9022
138:1223:2799
139:7096:5573
140:2835:696
141:9252:319
142:2861:7831
143:5411:5797
144:3559:1106
145:3050:7337
146:2345:1793
147:5975:124
148:1882:3641
149:3306:2015
150:8197:5963
151:1339:9311
152:270:6383
153:9209:7665
154:9516:2948
155:4310:5312
156:2611:280
157:8388:812
158:6098:9454
159:260:2493
160:6204:6301
161:6093:1778
162:2306:7810
163:3175:7591
164:7500:1331
165:8124:4019
166:4682:6246
167:5464:8427
168:1600:2820
169:7512:2210
170:3316:7906
171:1512:1365
172:5491:2183
173:4949:9082
174:6965:8635
175:4986:7524
176:5040:6944
177:2963:1007
178:1919:3491
179:9887:7738
180:5738:1641
181:3856:2333
182:4619:2024
183:5358:6268
184:7192:7469
185:1375:8475
186:8021:2301
187:4235:3262
188:1364:680
189:6148:7743
190:1717:3672
191:5357:5966
192:4567:9733
193:4860:1934
194:5801:8303
195:9615:8688
196:3204:1191
197:3186:5666
198:8485:1442
199:9758:1502
200:3263:4369
201:2465:4465
202:7467:446
203:3953:7717
204:3559:4734
205:138:1597
206:5050:2552
207:3081:83
208:2722:6052
209:3920:3659
210:7005:1406
211:1799:5751
212:9944:1287
213:9734:4914
214:5192:2328
215:3341:9988
216:9470:2249
217:3388:372
218:3927:6342
219:8074:8636
220:8840:7995
221:6009:7634
222:95:2948
223:5802:9323
224:879:1972
225:3216:7470
226:7023:1644
227:1819:1423
228:9442:7922
229:8058:3160
230:2093:2199
231:6719:4768
232:8906:4524
233:7686:8579
234:8111:3680
235:9946:7109
236:7410:8799
237:3786:5031
238:8423:2221
239:7100:327
240:3850:8253
241:6761:6839
242:5785:7550
243:990:5392
244:8619:1777
245:3655:5675
246:4975:8260
247:6443:6076
248:8100:9298
249:9839:3651
250:9167:5834
251:8854:1416
252:2909:173
253:4435:5154
254:41:7418
255:6495:6919
256:9885:341
257:9501:7429
258:1657:7344
259:6565:4528
260:7835:8221
261:2957:9918
262:8065:7403
263:4999:1331
264:7023:9359
265:5264:2346
266:4681:5870
267:20:7022
268:2416:9827
269:9858:1554
270:3394:5276
271:9444:113
272:671:8371
273:7325:7088
274:1443:8934
275:1736:2893
276:885:7311
277:3334:5534
278:4027:6207
279:814:5139
280:9079:2188
281:317:3604
282:675:6538
283:4602:6582
284:6444:163
285:2893:9971
286:5364:2219
287:7340:8109
288:1333:7164
289:7055:5854
290:386:9915
291:5630:1732
292:5005:3789
293:3096:4358
294:3961:940
295:8250:9295
296:1112:9949
297:2289:8558
298:1611:278
299:9700:9936
300:8947:8267
301:7317:8332
302:1271:4356
303:7515:6296
304:432:6231
305:6453:5950
306:2163:7570
307:3315:9483
308:864:7088
309:1487:411
310:7405:7557
311:7607:2782
312:3402:9495
313:9412:524
314:385:9216
315:8347:4114
316:7314:5914
317:7846:6752
318:4873:7487
319:3239:7249
320:9968:9767
321:4217:1788
322:8893:8869
323:5792:1767
324:2572:1325
325:8691:9899
326:2337:1698
327:5123:1767
328:9668:2366
329:852:5009
330:8333:5166
331:9515:3331
332:2374:9568
333:130:7533
334:8363:7097
335:3717:731
336:5378:6657
337:9984:9967
338:1129:470
339:3:1394
340:7675:5307
341:5828:1221
342:5169:8695
343:2974:9609
344:7065:4792
345:6714:9705
346:5229:9629
347:8114:8992
348:8392:377
349:759:5166
350:2375:8359
351:4094:3694
352:5536:472
353:4327:9274
354:7863:8718
355:8827:8362
356:7158:2528
357:4956:4959
358:754:3563
359:9273:6852
360:6188:7687
361:8041:4492
362:9283:3795
363:4992:9688
364:3070:4179
365:7261:6326
366:5979:6135
367:5451:275
368:2755:9472
369:8758:683
370:6524:9646
371:1080:9856
372:5441:1168
373:9072:3883
374:2378:1008
375:8069:1228
376:1065:6654
377:6813:1438
378:7143:8540
379:6932:1198
380:7548:1500
381:8098:9880
382:6680:4972
383:4808:1799
384:2784:6604
385:5726:7355
386:2978:8974
387:1513:248
388:383:4097
389:2107:2954
390:1768:5422
391:9350:7655
392:9167:1985
393:5947:4799
394:3894:4427
395:6658:6488
396:6404:7551
397:2674:6879
398:426:9107
399:5121:6782
400:4809:9502
401:8615:4641
402:1531:2109
403:820:1099
404:3282:8870
405:8933:9317
406:9089:884
407:9042:8242
408:1398:8656
409:9299:1017
410:3059:1709
411:2828:5711
412:7653:2232
413:1327:563
414:1597:2463
415:5283:921
416:1457:488
417:1752:75
418:4923:4147
419:5628:1156
420:8870:7731
421:5357:2304
422:2940:1161
423:9008:2282
424:2102:6334
425:1660:8723
426:6598:324
427:40:6210
428:2748:131
429:5335:6360
430:3013:8650
431:127:7107
432:8787:6571
433:395:3382
434:4335:9871
435:8504:6354
436:5319:7612
437:8127:3438
438:361:9708
439:7047:6257
440:9059:9371
441:8761:8735
442:4910:9899
443:8829:2513
444:6579:523
445:6911:1883
446:5933:968
447:421:5415
448:6301:9447
449:745:6475
450:9381:3751
451:7949:9815
452:4238:130
453:4923:6426
454:6828:9668
455:6898:3838
456:3488:6808
457:7269:4058
458:6831:9748
459:5667:6336
460:7473:7369
461:9208:6936
462:50:2402
463:2873:3107
464:6935:5502
465:9938:3452
466:8118:9944
467:8406:1851
468:674:1593
469:4367:7165
470:6254:3869
471:8236:5880
472:45:2373
473:4790:9885
474:9631:8872
475:2963:6583
476:7196:9321
477:6315:3507
478:3497:5624
479:125:4635
480:7063:5807
481:6047:599
482:7036:2296
483:253:9957
484:3110:2993
485:6018:3739
486:990:4828
487:6673:428
488:6823:4482
489:9865:3597
490:9024:5960
491:9064:9346
492:950:9715
493:3258:5775
494:2844:2997
495:760:1637
496:6498:6120
497:8083:6391
498:1065:4339
499:9806:8821