蓝桥杯——玩具蛇

题目

小蓝有—条玩具蛇,一共有16节,上面标着数字1至16。每—节都是一个正方形的形状。相邻的两节可以成直线或者成90度角。
小蓝还有一个4×4的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母A到Р共16个字母。
小蓝可以折叠自己的玩具蛇放到盒子里面。他发现,有很多种方案可以将玩具蛇放进去。
下图给出了两种方案:

请帮小蓝计算一下,总共有多少种不同的方案。如果两个方案中,存在玩具蛇的某一节放在了盒子的不同格子里,则认为是不同的方案。

分析

很明显的DFS,只需要定义方向,然后注意不要越界,每次放置好一段之后需要标记,标记完之后再接着搜索,搜完之后要删除标记。

代码

num = [[0] * 4 for i in range(4)]
direction = [[1, 0], [-1, 0], [0, 1], [0, -1]]
ans = 0
def dfs(x, y, count):global ansif count == 16:ans += 1returnfor i in range(4):dx = x + direction[i][0]dy = y + direction[i][-1]if 0 <= dx < 4 and 0 <= dy < 4 and num[dx][dy] == 0:num[dx][dy] = 1dfs(dx, dy, count+1)num[dx][dy] = 0
for i in range(4):for j in range(4):num[i][j] = 1dfs(i, j, 1)num[i][j] = 0
print(ans)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/305877.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浙大恩特客户资源管理系统 i0004_openFileByStream.jsp 任意文件读取漏洞复现

0x01 产品简介 浙大恩特客户资源管理系统是一款针对企业客户资源管理的软件产品。该系统旨在帮助企业高效地管理和利用客户资源,提升销售和市场营销的效果。 0x02 漏洞概述 浙大恩特客户资源管理系统 i0004_openFileByStream.jsp接口处存在任意文件读取漏洞,未经身份验证攻…

快速开始vue3

版本 node (20.11.1)vue3 (3.4.21) 脚手架创建项目并运行 安装脚手架并创建项目 npm create vuelatest这一指令将会安装并执行 create-vue&#xff0c;它是 Vue 官方的项目脚手架工具 2&#xff09; 安装以下进行选择 ## 配置项目名称 √ Project name: vue3_test ## 是否…

网络编程基础

目录 【1】网络编程&#xff1a; ​【2】通信两个重要的要素&#xff1a;IPPORT 【3】设备之间进行传输的时候&#xff0c;必须遵照一定的规则 ---》通信协议&#xff1a; 【4】TCP协议&#xff1a;可靠的 建立连接&#xff1a; 三次握手 ​编辑释放连接&#xff1a;四次挥…

Python生成图片和音频验证码

captcha是pyhton的一个模块&#xff0c;用来生成图片和音频验证码。 安装 pip install captcha使用 from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha# 加载声音和字体 audio AudioCaptcha(voicedir/path/to/voices) image ImageCaptcha(…

【洛谷 P4017】最大食物链计数 题解(深度优先搜索+动态规划+邻接表+记忆化搜索+剪枝)

最大食物链计数 题目背景 你知道食物链吗&#xff1f;Delia 生物考试的时候&#xff0c;数食物链条数的题目全都错了&#xff0c;因为她总是重复数了几条或漏掉了几条。于是她来就来求助你&#xff0c;然而你也不会啊&#xff01;写一个程序来帮帮她吧。 题目描述 给你一个…

蓝牙耳机哪个品牌质量最好最耐用?五大口碑最佳机型,硬核推荐

​在快节奏的都市生活中&#xff0c;无线蓝牙耳机成为了我们摆脱线缆束缚、随时随地享受音乐的完美伴侣。面对市场上琳琅满目的品牌和型号&#xff0c;挑选一款合适的耳机似乎是一项挑战。因此&#xff0c;我精心挑选了几款性能卓越的蓝牙耳机&#xff0c;希望我的分享能为你提…

Vue学习笔记(一)

1. 绑定事件按按键修饰符 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title>绑定事件和按键修饰符</title> </head><body> <div id"app">{{ person }}<hr/><…

【Linux】开始了解重定向

送给大家一句话&#xff1a; 人真正的名字是&#xff1a;欲望。所以你得知道&#xff0c;消灭恐惧最有效的办法&#xff0c;就是消灭欲望。 – 史铁生 《我与地坛》 开始了解重定向 1 前言2 重定向与缓冲区2.1 文件描述符分配规则2.2 重定向的现象2.3 重定向的理解2.4 缓冲区…

突破传统RAG限制!Adaptive-RAG实现高效复杂查询处理

参考文章&#xff1a;突破传统RAG限制&#xff01;Adaptive-RAG实现高效复杂查询处理 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展日新月异&#xff0c;它们在多种任务中展现出了卓越的性能。然而&#xff0c;尽管LLMs在处理问题时表现出色&…

MongoDB数据库转换为表格文件的Python实现

目录 一、引言 二、转换工具与库的选择 三、转换过程详解 安装必要的库 连接MongoDB数据库 查询并处理数据 将数据写入CSV文件 四、进阶技巧与注意事项 五、总结 一、引言 在当今大数据时代&#xff0c;数据的存储、处理与共享显得尤为重要。MongoDB作为一个面向文档…

如何更换网络IP地址,简单几步轻松搞定

在数字化日益普及的今天&#xff0c;网络IP地址作为设备在网络中的标识&#xff0c;扮演着极其重要的角色。有时&#xff0c;出于安全考虑、网络布局调整或解决特定问题的需要&#xff0c;我们可能需要更换网络IP地址。虎观代理将详细介绍如何更换网络IP地址&#xff0c;帮助用…

Android 输入法框架

输入法属于输入系统的一部分&#xff0c;区别于输入系统只能向系统产生时间&#xff0c;输入法能向系统输入具体的内容&#xff0c;下面来认识输入法的大体框架&#xff0c;以下内容参考清华大学出版社出版的《Android图形显示系统》。 输入法框架包含3个组件&#xff0c;各组件…

k8s集群node节点状态为Not Ready

目录 一、Node节点Not Ready状态的可能原因 二、排查node节点状态为Not Ready的原因 一、Node节点Not Ready状态的可能原因 node节点状态为Not Ready可能的原因有&#xff1a; 1.网络插件出问题 有过安装经验的小伙伴应该很熟悉未安装网络插件的情况下node节点在集群中的状…

基于java+springboot+vue实现的西安旅游系统(文末源码+Lw)23-265

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统西安旅游系统信息管理难度大&#xff0c;容错率低&#…

3-1 AUTOSAR RTE概述

返回总目录->返回总目录<- 一、概念 1.1 虚拟总线VFB 若从整车级别去看待整车上所有的功能模块,即软件组件的架构,它们之间的通信形式主要涉及以下两种: 在单个ECU内部的通信(Intra-ECU Communication);在多个ECU之间的通信(Inter-ECU Communication)。 …

java实现TCP交互

服务器端 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.PriorityQueue; import java.util.Scanner;public class TCP_Serv…

【嵌入式学习】ARM day04.11

一、思维导图 二、练习 实现三个灯闪烁 汇编代码 .text .global _start _start: 使能GPIOE和F时钟LDR r0,0x50000A28LDR r1,[R0]ORR R1,R1,#(0X3<<4)STR R1,[R0]配置GPIOE和F的MODER寄存器LDR r0,0x50006000 GPIOELDR R1,0X50007000 G…

golangci-lint 报错

File is not gci-ed with --skip-generated -s standard,default (gci) golangci-lint 报错上面的错解决办法&#xff1a; 1. 文件换行需要换成"LF" 而不是"CRLF" ---->>> 我用的goland IDE&#xff0c;随便在这个文件删除一个空行&#xff…

Docker部署SpringBoot+Vue前后端分离项目

文章目录 1. 安装Docker1. 1 卸载旧版Docker1.2 配置yum仓库1.3 安装Docker1.4 添加自启动配置1.5 配置阿里云镜像加速1.6 测试 2. 安装Nginx2.1 拉取镜像2.2 安装Nginx2.3 测试 3. 安装MySQL3.1 拉取镜像3.2 安装MySQL3.3 连接MySQL 4. 部署SpringBoot项目4.1 Maven打包4.2 编…

qt 打印日志

在 Qt Creator 中&#xff0c;将 QDebug、QInfo、QWarning、QCritical 和 QFatal 打印的日志输出到指定文件&#xff0c;需要设置 Qt 的消息处理机制。这通常涉及到安装一个自定义的消息处理器&#xff0c;该处理器将日志消息重定向到文件。以下是一个基本的步骤指南&#xff1…