題目描述
軍事演習中分為紅藍兩方,我方為藍方。
地圖簡化為 n 行 m 列的二維矩陣形式,紅方基地在地圖中使用 # 表示,藍方基地在地圖中使用 * 表示,中立區域使用 . 表示。
下圖為地圖示例:
.........###...............
........###..............
.........###....****.......
........#####.........
.........##............
...........................
........................
......###...............
......##...................
.........................
...##...................
...........................
兩方均只使用戰鬥機進行演練,各個基地停放若干架戰鬥機並儲存若干戰備(燃油、導彈)。
戰鬥機在地圖中可向上、下、左、右四個方向進行移動,假定各戰鬥機在行駛途中有各自飛行高度而不會相撞。所有戰鬥機的速度均為 1 格 / 幀,
空中每經過一幀消耗一單位油量,攻擊距離均為 1 格。各戰鬥機具有的屬性為:
編號
油箱容量
最大載彈量
戰鬥機可以在起飛的基地進行加油和裝彈,也可以在途經的己方基地加油和裝彈,裝填時間不計。
出於隱蔽考慮,戰鬥機不應經過未被摧毀的敵方基地,而每架戰鬥機都可以向其上下左右四個方向發射導彈,射程為 1 格。同時不能飛出地圖邊
界。戰鬥機中途可以在非敵方基地處降落(不發出移動指令則視為降落)。
基地中各個位置均具有其初始屬性:
基地編號
戰鬥機數量及其屬性
燃油儲備量
導彈儲備量
防禦數值
軍事價值
其中,防禦數值指的是,徹底摧毀該基地所需要的導彈數(可以累加)。當徹底摧毀某個基地後,才可得到對應軍事價值的分數。
這是一個簡化的問題,所以你只需要考慮作為藍方如何排程戰鬥機進攻紅方基地,不需要考慮紅方對此做出的反擊或防禦措施,目標為得分最大
化。
輸入格式
第一行兩個正整數 n, m(1 ≤ n, m ≤ 200) 說明地圖表示為一個 n 行 m 列的矩陣。
接下來 n 行,每行 m 個字元,表示地圖情況。
如:
9 6
........
..#......
.##......
........
......***
...#.....
對於一個基地,先輸入一行 表示接下來要描述位於第 行第 列的基地資訊。
接下來一行 個整數分別表示該位置編號 、該位置的戰鬥機數量 、燃油儲備量 、導彈儲備量
、防禦數值 、軍事價值 。保證編號連續且從 開始。
接下來 行,一行三個整數,分別表示一架戰鬥機的編號、油箱容量、最大載彈量。
保證先輸入藍方基地資訊,再輸入紅方基地資訊。例如上圖中有 個藍方基地, 個紅方基地。
輸出格式
對於每一幀,輸出若干行戰鬥機指令。
指令格式 作用
move
“上、下、左、右”。若執行該指令後戰鬥機下一位置超出地圖邊界或進入未被摧毀的敵方基地,該指令將被忽略。
attack
該指令表示戰鬥機的進攻。第一個引數為進攻的戰鬥機編號,第二個引數為攻擊方向的編號。 1 2 3 4 分別表示
“上、下、左、右”。無條件打擊攻擊位置,即使為己方基地。(己方基地也可能被摧毀)
若攻擊位置超出地圖邊界,仍然消耗導彈,但沒有實際作用。
fuel
該指令表示為戰鬥機新增燃油。第一個引數為新增燃油的戰鬥機編號,第二個引數為新增燃油的數量。
若執行該指令時戰鬥機不位於基地或新增燃油的數量不合法(超過基地剩餘油量或新增後大於該戰鬥機油量),
該指令將被忽略。
missile
該指令表示為戰鬥機裝填導彈。第一個引數為裝填導彈的戰鬥機編號,第二個引數為裝填導彈的數量。
若執行該指令時戰鬥機不位於基地或新增導彈的數量不合法
(超過基地剩餘導彈量或新增後大於該戰鬥機載彈量),該指令將被忽略。
一幀輸出結束後,輸出一行 OK 並重新整理輸出。
例如:
C++ 可以使用 fflush(stdout) 或者 cout.flush() ;
Java 可以使用 System.out.flush() ;
Pascal 可以使用 flush(output) ;
Python 可以使用 stdout.flush() 。
每一幀輸出 OK 後,判題器將會返回當前得分資訊以及該幀的錯誤指令警告資訊。
總共 幀,每一幀的處理時間不受限,但需要保證程式在 分鐘內結束。
軍事演習演算法
相關文章
- 解讀人工智慧機器人演算法戰的軍事應用人工智慧機器人演算法
- 機器學習中的聚類演算法演變及學習筆記機器學習聚類演算法筆記
- 演算法講演錄[1]演算法
- 軍事思維者的思考邏輯
- 診斷子事務的瑞士軍刀
- python演算法:常勝將軍Python演算法
- 騰訊自研反恐軍事競賽手遊《和平精英》今日公測 打造超擬真軍事競賽體驗
- 演算法那些事之冒泡演算法演算法
- 先發制人!360攻擊欺騙防禦系統全面助力攻防演習“紅軍的反擊”
- YOLO之父退出CV界表達抗議,拒絕AI演算法用於軍事和隱私窺探YOLOAI演算法
- 美軍事基地被黑客入侵UFO資料驚現黑客
- 【GDC演講】互動敘事:《Florence》製作回顧
- 英:AI技術軍事化比核彈更加危險AI
- 梁將軍:品牌競爭的新打法是“生意敘事”
- 055、韋諷錄事宅觀曹將軍畫馬圖
- 高德網路定位演算法的演進演算法
- 無刷電機控制演算法的演變演算法
- 人臉識別技術演進:從幾何演算法到深度學習的深度剖析演算法深度學習
- 數碼寶貝新世紀域外演習怎麼打?域外演習活動玩法流程攻略
- 電商搜尋演算法技術的演進演算法
- 美軍切斷最大軍事基地電源以此來測試網路攻擊下的真實反應
- 深度學習和幾何(演講提要)深度學習
- 烏克蘭銀行和軍事機構遭受了DDoS攻擊
- 軍事營區數字孿生,助力實現主動防禦
- 使習很支軍子式區特技都jjy
- Arival:2018年旅遊演藝及賽事活動研究報告
- Git 學習記錄之演變歷史Git
- 騰訊自研反恐軍事競賽手遊《和平精英》今日公測
- 經典演算法題每日演練——最長公共子序列演算法
- 網易嚴選跨域多目標演算法演進跨域演算法
- IROS 2019 機器視覺全球挑戰賽:賦予 AI 終生學習能力(附冠軍演算法模型)ROS視覺AI演算法模型
- 持續學習——程式猿的軍備競賽
- 軍委學隊離色出受習者mte
- 《使命召喚:現代戰爭》深度前瞻:重新演繹現代戰事
- 演算法複習演算法
- 演算法學習演算法
- 演算法練習演算法
- 《十字軍之王3》火熱背後,地圖上色遊戲能否演繹歷史程式地圖遊戲