題目要求如下:
水下採礦機械人
某司研究出一種可以進行水下探測、採礦的機械人,該機械人可以在水下移動,進行資源探測,並且採集資源。現在請你實現該採集機械人的控制程式,控制機械人進行水下採礦。
如下所示為乙個大小為
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...