码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【华为OD机试真题 python】贪吃蛇【2022 Q4 | 200分】


    ■ 题目描述

    【贪吃蛇】

    贪吃蛇是一个经典游戏,蛇的身体由若干方格连接而成,身体随蛇头移动。蛇头触碰到食物时,蛇的长度会增加一格。

    蛇头和身体的任一方格或者游戏版图边界碰撞时,游戏结束。

    下面让我们来完成贪吃蛇游戏的模拟。

    给定一个N*M的数组arr,代表N*M个方格组成的版图,贪吃蛇每次移动一个方格。

    若arr[i][j] == ‘H’,表示该方格为贪吃蛇的起始位置;

    若arr[i][j] == ‘F’,表示该方格为食物,

    若arr[i][j] == ‘E’,表示该方格为空格。

    贪吃蛇初始长度为1,初始移动方向为向左。

    为给定一系列贪吃蛇的移动操作,返回操作后蛇的长度,如果在操作执行完之前已经游戏结束,返回游戏结束时蛇的长度。

    贪吃蛇移动、吃食物和碰撞处理的细节见下面图示:

    图1:截取了贪吃蛇移动的一个中间状态,H表示蛇头,F表示食物,数字为蛇身体各节的编号,蛇为向左移动,此时蛇头和食物已经相邻

    图2:蛇头向左移动一格,蛇头和食物重叠,注意此时食物的格子成为了新的蛇头,第1节身体移动到蛇头位置,第2节身体移动到第1节身体位置,以此类推,

    最后添加第4节身体到原来第3节身体的位置。

    图3:蛇头继续向左移动一格,身体的各节按上述规则移动,此时蛇头已经和边界相邻ÿ

  • 相关阅读:
    第6集丨ObjectScript JSON 中 %JSON 方法汇总
    js正则的前瞻释义
    微服务框架 SpringCloud微服务架构 9 初识 Docker 9.1 什么是Docker
    为什么我们不支持手工上传镜像
    (附源码)springboot猪场管理系统 毕业设计 160901
    ise使用ChipScope时报错NgdBuild:604
    使用 WebGL 创建 3D 对象
    MySQL——数据库基础
    springMVC执行流程详解
    【JavaScript 进阶教程】汽车商城根据价格区间筛选车辆案例
  • 原文地址:https://blog.csdn.net/xiao_pengjy/article/details/128072947
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号