水下探礦演算法實現

2021-09-01 22:10:55 字數 1593 閱讀 8076

題目要求如下:

水下採礦機械人

某司研究出一種可以進行水下探測、採礦的機械人,該機械人可以在水下移動,進行資源探測,並且採集資源。現在請你實現該採集機械人的控制程式,控制機械人進行水下採礦。

如下所示為乙個大小為

10*10

的採礦區域,對應樣例中附帶的

testcase00。

(測試用例使用的區域固定為

x軸為從上往下方向,y軸為從左往右方向。

黑色區域為障礙區(數值為9999999),裡面不會有礦,採礦器也不能進入,障礙區只會貼近區域底部或邊緣,或者貼近另乙個障礙;幾個貼近的障礙必須有乙個貼近區域底部或邊緣

綠色區域為資源區(數值為1-1000),裡面有一定數量的資源,資源數不確定;資源只會貼近區域底部或邊緣,或者貼近障礙區

如下圖,編號為ab的是正常的障礙,c為不可能存在的障礙;編號為1、2、3、4的為正常的資源,不可能存在編號為5、6型別的資源。

除障礙區以及資源區,其他可通行區域用0表示。

紅色為採礦機械人的出發點以及資源收集點,座標固定為(0, 0

,程式開始前採集機械人位於該點,採集完成之後需要在該點卸下採集的資源。用例最後檢測該點採集的資源判定結果。

使用者可以利用採集機械人提供的介面函式實現控制,介面函式如下:

/***

往特定的方向嘗試執行移動操作,只移動一格

* *@paramdirection

需要移動的方向:上(0)、下(2)、左(1)、右(3)

*@return操作結果:成功或失敗,該方向是障礙物或區域底部(或邊緣)時返回false*/

booleanmove(intdirection);

/**

* * 檢測當前區域可採集的資源數

* *@return當前區域可採集的資源數

*/intdetect();

/**

* 在當前位置執行採集操作

* *@return返回採集到的資源數

* */

intcollect();

/**

* 卸下所有採集的資源

* *@return在規定的區域卸下則返回true,否則返回false*/

booleanoffload();

STM32實現水下四旋翼(一)飛行原理

飛行是人類孜孜以求的夢想。從莊子的 御風而行 扶搖而上 到武俠神鬼 中的輕功 御劍飛行,各種文字 圖騰都滿含飛行的樸素理想,據說每個大男孩心中都有乙個飛天夢。對於乙個理工科的大男孩來說,製造乙個飛機恐怕是更有 力吧!網路時代知識共享,開源社群的盛行讓這不再是難事,事實上你想學,大把的資源可供利用。當...

python 實現演算法 Python實現演算法 一

1.二分查詢 def binary search mylist,item low 0 high len mylist 1 while low high mid low high 2 如果 low high 2不是偶數,python自動將mid向下圓整。guess mylist mid if gues...

k NN演算法實現k 鄰近演算法實現

將資料點 1,1.1 定義為類a,資料點 0,0.1 定義為類b k 鄰近演算法實現 計算已知類別資料集中的點與當前點之間的距離 按照距離遞增次序排序 選取與當前點距離最小的 個點 確定前 個點所在的類別的出現頻率 返回前 個點出現頻率最高的類別作為當前點的 分類 from numpy import...