題目要求如下:
水下采礦機(jī)器人
?
某司研究出一種可以進(jìn)行水下探測、采礦的機(jī)器人,該機(jī)器人可以在水下移動(dòng),進(jìn)行資源探測,并且采集資源。現(xiàn)在請你實(shí)現(xiàn)該采集機(jī)器人的控制程序,控制機(jī)器人進(jìn)行水下采礦。
如下所示為一個(gè)大小為 10*10 的采礦區(qū)域,對應(yīng)樣例中附帶的 testcase00 。
(測試用例使用的區(qū)域固定為 10*10 ):
?
x 軸為從上往下方向, y 軸為從左往右方向。
黑色區(qū)域?yàn)檎系K區(qū) ( 數(shù)值為 9999999) ,里面不會(huì)有礦,采礦器也不能進(jìn)入, 障礙區(qū)只會(huì)貼近區(qū)域底部或邊緣,或者貼近另一個(gè)障礙;幾個(gè)貼近的障礙必須有一個(gè)貼近區(qū)域底部或邊緣 。
綠色區(qū)域?yàn)橘Y源區(qū)(數(shù)值為 1-1000 ),里面有一定數(shù)量的資源,資源數(shù)不確定; 資源只會(huì)貼近區(qū)域底部或邊緣,或者貼近障礙區(qū) 。
如下圖,編號(hào)為 AB 的是正常的障礙, C 為不可能存在的障礙;編號(hào)為 1 、 2 、 3 、 4 的為正常的資源,不可能存在編號(hào)為 5 、 6 類型的資源。
除障礙區(qū)以及資源區(qū),其他可通行區(qū)域用 0 表示。
?
紅色為采礦機(jī)器人的出發(fā)點(diǎn)以及資源收集點(diǎn), 坐標(biāo)固定為( 0, 0 ) ,程序開始前采集機(jī)器人位于該點(diǎn),采集 完成之后 需要 在該點(diǎn)卸下采集的資源 。用例最后檢測該點(diǎn)采集的資源判定結(jié)果。
用戶可以利用采集機(jī)器人提供的接口函數(shù)實(shí)現(xiàn)控制,接口函數(shù)如下:
?
/**
???? * 往特定的方向嘗試執(zhí)行移動(dòng)操作,只移動(dòng)一格
???? *
???? * @param direction 需要移動(dòng)的方向:上 (0) 、下 (2) 、左 (1) 、右 (3)
???? * @return 操作結(jié)果:成功或失敗,該方向是障礙物或區(qū)域底部 ( 或邊緣 ) 時(shí)返回 false
???? */
??? boolean move( int direction);
?
??? /**
???? *
???? * 檢測當(dāng)前區(qū)域可采集的資源數(shù)
???? *
???? * @return 當(dāng)前區(qū)域可采集的資源數(shù)
???? */
??? int detect();
?
??? /**
???? * 在當(dāng)前位置執(zhí)行采集操作
???? *
???? * @return 返回采集到的資源數(shù)
???? *
???? */
??? int collect();
?
??? /**
???? * 卸下所有采集的資源
???? *
???? * @return 在規(guī)定的區(qū)域卸下則返回 true ,否則返回 false
???? */
??? boolean offload();
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

