最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python機(jī)器人運(yùn)動(dòng)范圍問(wèn)題的解答

 更新時(shí)間:2019年04月29日 10:13:03   作者:jiangjiane  
這篇文章主要為大家詳細(xì)解答了python機(jī)器人的運(yùn)動(dòng)范圍問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

機(jī)器人的運(yùn)動(dòng)范圍Python實(shí)現(xiàn):

問(wèn)題:地上有個(gè) m 行 n 列的方格。一個(gè)機(jī)器人從坐標(biāo)(0,0)的格子開(kāi)始移動(dòng),它每一次可以向左、右、上、下移動(dòng)一格,但不能進(jìn)入行坐標(biāo)和列坐標(biāo)的數(shù)位之和大于 k 的格子。

例如,當(dāng) k 為 18 時(shí),機(jī)器人能夠進(jìn)入方格(35,37),因?yàn)?3+5+3+7=18 但它不能進(jìn)入方格(35,38),因?yàn)?3+5+3+8=19 請(qǐng)問(wèn)該機(jī)器人能夠達(dá)到多少格子?

回溯算法。

當(dāng)準(zhǔn)備進(jìn)入坐標(biāo)(i,j)時(shí),通過(guò)檢查坐標(biāo)的數(shù)位來(lái)判斷機(jī)器人能否進(jìn)入。如果能進(jìn)入的話(huà),接著判斷四個(gè)相鄰的格子。

代碼:

# -*- coding:utf-8 -*-
class Solution:
 def movingCount(self, threshold, rows, cols):
  # write code here
  matrix = [[True for i in range(cols)] for j in range(rows)]
  result = self.findgrid(threshold, rows, cols, matrix, 0, 0)
  return result
 
 def judge(self, threshold, i, j):
  if sum(map(int,str(i)+str(j))) <= threshold:
   return True
  else:
   return False
  
 def findgrid(self, threshold, rows, cols, matrix, i, j):
  count = 0
  if i < rows and i>=0 and j<cols and j>=0 and self.judge(threshold, i, j) and matrix[i][j]:
   matrix[i][j] = False
   count = 1+ self.findgrid(threshold, rows, cols, matrix, i-1, j) \
     + self.findgrid(threshold, rows, cols, matrix, i+1, j) \
     + self.findgrid(threshold, rows, cols, matrix, i, j-1) \
     + self.findgrid(threshold, rows, cols, matrix, i, j+1)
  return count

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

青海省| 岳阳县| 玉门市| 沁源县| 内江市| 绥德县| 北宁市| 平邑县| 乐山市| 华坪县| 荃湾区| 沅陵县| 聂拉木县| 龙泉市| 遂平县| 都昌县| 扶沟县| 北海市| 英山县| 湖口县| 三门县| 阿拉善左旗| 桂林市| 胶州市| 新郑市| 枣阳市| 五常市| 伊宁市| 韶山市| 德化县| 阿拉尔市| 石渠县| 台州市| 凤山市| 来凤县| 富蕴县| 吉安县| 玉田县| 鱼台县| 甘南县| 呈贡县|