我正在訓練代碼問題,在這一個我有問題解決它,你能給我一些提示如何解決它請。飛機轟炸問題 - 幫助
的問題就是從這裏取:
https://www.ieee.org/documents/IEEEXtreme2008_Competitition_book_2.pdf
問題12:玩世時代。
的問題是這樣的(但參考源的問題上面的鏈接,它有圖!):
你的任務是找到點的序列中的地圖上,該轟炸機預計旅行,使其擊中所有重要的環節。從A到B的鏈接是至關重要的,因爲它不存在從B完全隔離A的情況。換句話說,從A到B(或相反)的唯一途徑是通過該鏈接。
由於敵人的反擊,飛機可能隨時需要撤退,所以飛機應該在每個時刻跟隨最接近的重要環節,即使最後總距離會變大。
給定所有座標(地圖的初始位置和地圖中的節點)和範圍R,必須確定飛機必須放置炸彈的位置順序。
該序列應該在起始位置開始(起飛)和完成(着陸)。除了開始和結束之外,所有其他位置都必須完全落在地圖的一部分中(即,它應該對應於未命中的重要鏈接部分中的一個點)。
使用的座標系統將是UTM(通用橫軸墨卡託投影機)北向和東向,它基本上對應於世界的歐幾里得視角(X =東向; Y =北向)。
輸入 每個輸入文件將以三個浮點數字開頭,表示機場的X0和Y0座標以及範圍R.第二行包含一個整數N,表示道路網絡圖中節點的數量。然後,下一個N(< 10000)行將包含一對浮點數,指示Xi和Yi座標(1 < i < = N)。請注意,索引i成爲每個節點的標識符。最後,最後一個塊以整數M開始,表示鏈接的數量。然後,下一個M(< 10000)行將分別具有與鏈接在一起的點的標識符相對應的兩個整數Ak和Bk(1,< Ak,Bk < = N;M)。
沒有兩個鏈接會彼此交叉。
輸出 程序將按照飛機應該訪問的順序(在機場開始和結束)打印每行一行的座標序列(具有小數點後一位的浮點數)。
Sample input 1
102.3 553.9 0.2
14
342.2 832.5
596.2 638.5
479.7 991.3
720.4 874.8
744.3 1284.1
1294.6 924.2
1467.5 659.6
1802.6 659.6
1686.2 860.7
1548.6 1111.2
1834.4 1054.8
564.4 1442.8
850.1 1460.5
1294.6 1485.1
17
1 2
1 3
2 4
3 4
4 5
4 6
6 7
7 8
8 9
8 10
9 10
10 11
6 11
5 12
5 13
12 13
13 14
Sample output 1
102.3 553.9
720.4 874.8
850.1 1460.5
102.3 553.9
你應該使用什麼語言?另外,不要指望任何人爲你做。人們可以給你提示,但就是這樣。 – 2010-05-31 15:05:49
嗯。你試過什麼了?你卡在哪裏? – karim79 2010-05-31 15:06:10
http://en.wikipedia.org/wiki/Travelling_salesman_problem – tvanfosson 2010-05-31 15:06:30