python机器人运动范围问题的解答

机器人的运动范围Python实现:

问题:地上有个 m 行 n 列的方格。一个机器人从坐标(0,0)的格子开始移动,它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于 k 的格子。

例如,当 k 为 18 时,机器人能够进入方格(35,37),因为 3+5+3+7=18 但它不能进入方格(35,38),因为 3+5+3+8=19 请问该机器人能够达到多少格子?

回溯算法。

当准备进入坐标(i,j)时,通过检查坐标的数位来判断机器人能否进入。如果能进入的话,接着判断四个相邻的格子。

代码:

# -*- 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python机器人行走步数问题的解决

    本文实例为大家分享了python机器人行走步数问题,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,机器人能够

  • python实现机器人行走效果

    本文实例为大家分享了python实现机器人行走效果的具体代码,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,

  • python程序控制NAO机器人行走

    最近重新学习nao的官方文档,写点简单的程序回顾一下.主要是用python调用api,写下来保存着. '''Walk:small example to make nao walk''' import sys import motion import time from naoqi import ALProxy def StiffnessOn(proxy): #we use the 'body' to signify the collection of all joints pName="Body

  • python机器人运动范围问题的解答

    机器人的运动范围Python实现: 问题:地上有个 m 行 n 列的方格.一个机器人从坐标(0,0)的格子开始移动,它每一次可以向左.右.上.下移动一格,但不能进入行坐标和列坐标的数位之和大于 k 的格子. 例如,当 k 为 18 时,机器人能够进入方格(35,37),因为 3+5+3+7=18 但它不能进入方格(35,38),因为 3+5+3+8=19 请问该机器人能够达到多少格子? 回溯算法. 当准备进入坐标(i,j)时,通过检查坐标的数位来判断机器人能否进入.如果能进入的话,接着判断四个相

  • python爬虫之生活常识解答机器人

    一.前言 今天教大家如何用Python爬虫去搭建一个「生活常识解答」机器人. 思路:这个机器人主要是依托于"阿里达摩院发布的语言模型PLUG",通过爬虫的方式,发送post请求(提问),然后返回json数据(回答) 二.问答平台 这个「生活常识解答」机器人采用的是:阿里达摩院发布的语言模型PLUG(最近刚发布的,目前是测试阶段) 该模型参数规模达270亿,采用1TB以上高质量中文文本训练数据,包括了新闻.小说.诗歌.常识问答等类型. 三.原页面效果 这里是需要登录阿里云账号,登录之后可

  • Python实现生活常识解答机器人

    一.问答平台 这个「生活常识解答」机器人采用的是:阿里达摩院发布的语言模型PLUG(最近刚发布的,目前是测试阶段),地址链接如下: https://nlp.aliyun.com/portal#/BigText_chinese 该模型参数规模达270亿,采用1TB以上高质量中文文本训练数据,包括了新闻.小说.诗歌.常识问答等类型. 先来看一下原页面效果 这里是需要登录阿里云账号,登录之后可以在网页进行测试问答! 因此我们下面将通过抓包方式获取这个问答的请求链接,然后在python代码中reques

  • 教你用Python创建微信聊天机器人

    最近研究微信API,发现个非常好用的python库:wxpy.wxpy基于itchat,使用了 Web 微信的通讯协议,实现了微信登录.收发消息.搜索好友.数据统计等功能. 这里我们就来介绍一下这个库,并在最后实现一个聊天机器人. 有没有很兴奋?有没有很期待? 好了,接下来,开始我们的正题. 准备工作 安装非常简单,从官方源下载安装 pip install -U wxpy 或者从豆瓣源安装 pip install -U wxpy -i "https://pypi.doubanio.com/sim

  • Opencv+Python实现图像运动模糊和高斯模糊的示例

    运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 Opencv+Python实现运动模糊,主要用到的函数是cv2.filter2D(): # coding: utf-8 import numpy as np import cv2 def motion_blur(image, degree=12, angle=45): image = np.array(image) # 这里生成任意角度的运动模糊kernel的矩阵, degree越大,模糊程度越高 M = cv2.getRotat

  • python制作机器人的实现方法

    是否也像拥有自己的机器人呢? 不挨个展示了. 比如说你想实现一个夸人的功能: """ 作者:川川 时间:2021/4/6 """ from nonebot.adapters.cqhttp import Message, PokeNotifyEvent,Bot from nonebot import on_notice import warnings from nonebot.permission import * import requests

  • Python调用两个机器人聊天的实战

    目录 机器人api接口 调用接口封装机器人 实现两个机器人聊天 聊天文字转语音 总结 众所周知,现在网上有很多非常智能bushi(智障)的AI机器人接口,利用这些接口,我们可以实现一个机器人,可以和它对话聊天,为了增加机器人聊天内容的趣味性,今天我决定要搞两个机器人,看它俩聊天,看看会不会发生什么有趣的事情,搞起!!! 机器人api接口 经过一通百度,找到几个推荐比较多的机器人接口,如下: 天行机器人: 天行机器人, 验证邮箱之后每天可以有100次的免费调用次数,测试用的话够了,不想用自己的邮箱

  • Python常用库大全及简要说明

    环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 virtualenv:创建独立 Python 环境的工具.官网 virtualenvwrapper:virtualenv 的一组扩展.官网 buildout:在隔离环境初始化后使用声明性配置管理.官网 包管理 管理包和依赖的工具. pip:Python 包和依赖关系管理工具.官网 pip-tools:

随机推荐