題目描述
軍事演習中分為紅藍兩方,我方為藍方。
地圖簡化為 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演算法
- 技術演講那些事:如何不讓你的演講令人討厭
- 055、韋諷錄事宅觀曹將軍畫馬圖
- YOLO之父退出CV界表達抗議,拒絕AI演算法用於軍事和隱私窺探YOLOAI演算法
- 英:AI技術軍事化比核彈更加危險AI
- 梁將軍:品牌競爭的新打法是“生意敘事”
- 數碼寶貝新世紀域外演習怎麼打?域外演習活動玩法流程攻略
- 演算法那些事之冒泡演算法演算法
- 【java】架構演變學習Java架構
- 高德網路定位演算法的演進演算法
- 《演算法帝國》作者TEDx演講字幕演算法
- 深度學習之Google Deepmind的Alphago人工智慧演算法技術演變歷程深度學習Go人工智慧演算法
- 電商搜尋演算法技術的演進演算法
- 無刷電機控制演算法的演變演算法
- 軍事營區數字孿生,助力實現主動防禦
- 分析師:Google進軍作業系統是遲早的事Go作業系統
- 人臉識別技術演進:從幾何演算法到深度學習的深度剖析演算法深度學習
- 持續學習——程式猿的軍備競賽
- 微軟HoloLens軍事應用 坦克內可看清外部環境微軟
- 深度學習和幾何(演講提要)深度學習
- 書單:移動架構師的學習先行軍架構
- 《十字軍之王3》火熱背後,地圖上色遊戲能否演繹歷史程式地圖遊戲
- 不小心造了軍火 微軟全息透鏡將首次運用於軍事微軟
- 進軍日本手機遊戲市場需要注意的五大事項遊戲
- 網易嚴選跨域多目標演算法演進跨域演算法
- Percolator 和 TiDB 事務演算法TiDB演算法
- Git 學習記錄之演變歷史Git
- 關於CSS Reset那些事(1):歷史演變與Normalize.cssCSSORM
- 烽火以至 大戰開啟!年度軍事力作《戰爭與征服》今日登陸App StoreAPP
- 淺析網電作戰力量在非戰爭軍事行動中的應用
- 航空環境推出狙擊者號無人機,可進行隱蔽性軍事操作無人機
- 經典演算法題每日演練——最長公共子序列演算法
- sql 軍規SQL