蓝桥杯练习系统—瓷砖铺放 dfs

news/2024/7/20 22:49:23 标签: 深度优先, 蓝桥杯, 算法, c++, 学习

问题描述

  有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?
  例如,长度为4的地面一共有如下5种铺法:
  4=1+1+1+1
  4=2+1+1
  4=1+2+1
  4=1+1+2
  4=2+2
  编程用递归的方法求解上述问题。

输入格式

  只有一个数N,代表地板的长度

输出格式

  输出一个数,代表所有不同的瓷砖铺放方法的总数。

思路:首先看数据范围 n ≤10  很容易想到暴力搜索。题意就是给你一个数 让你求有多少种方法通过  只使用1 和 2来凑出 。可以抽象为一棵树树顶是n 。从 n开始往下走,每次都有两个分支一 个是减去1一个是减去2,走到底之后只有刚好减完了才算一种方法。

代码如下:

#include<bits/stdc++.h> 
using namespace std; 
typedef long long ll; 
#define endl '\n'  
const int N=0,mod=1e9+7; 
int ans; 
void dfs(int x) 
{ 
if(x<0)return; 
if(x==0)ans++; 
dfs(x-1); 
dfs(x-2); 
} 
void solve() 
{ 
int n; 
cin>>n; 
dfs(n); 
cout<<ans<<endl; 
} 
int main() 
{ 
ios::sync_with_stdio(false); 
cin.tie(0);cout.tie(0); 
int T=1; 
//cin>>T; 
while(T--) { 
solve(); 
} 
return 0; 
}


http://www.niftyadmin.cn/n/5434663.html

相关文章

Redis数据结构对象之哈希对象

哈希对象 哈希对象的编码可以是ziplist或者hashtable。 概述。 ziplist编码的哈希对象使用压缩列表作为底层实现&#xff0c;每当有新的键值对要加入到哈希对象时&#xff0c;程序会先将保存了键的压缩列表推入到压缩列表表尾&#xff0c;然后再将保存了值的压缩列表节点推入…

es6有哪些新特性?

ES6&#xff08;ECMAScript 2015&#xff09;引入了许多新特性&#xff0c;使 JavaScript 更加现代化、强大和易用。以下是一些 ES6 的主要新特性&#xff1a; let 和 const 声明&#xff1a;引入了 let 和 const 关键字用于声明变量&#xff0c;let声明的变量具有块级作用域&a…

鸿蒙开发实战:【Faultloggerd部件】

theme: z-blue 简介 Faultloggerd部件是OpenHarmony中C/C运行时崩溃临时日志的生成及管理模块。面向基于 Rust 开发的部件&#xff0c;Faultloggerd 提供了Rust Panic故障日志生成能力。系统开发者可以在预设的路径下找到故障日志&#xff0c;定位相关问题。 架构 Native In…

学生时期学习资源同步-JavaSE理论知识

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载 选择题 &#xff08;针对以下题目&#xff0c;请选择最符合题目要求的答案&#xff0c;针对每一道题目&#xff0c;所有答案都选对&#x…

一起玩儿3D打印机——05 Marlin固件的配置(二)

摘要&#xff1a;本文介绍Marlin固件的配置方法 14. 限位开关的常开、常闭设置 #define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #de…

国内新闻媒体排行,如何邀约媒体现场造势?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 国内新闻媒体排行可以根据多个维度进行&#xff0c;例如影响力、发行量、网站流量等。以下是一些常见的国内新闻媒体排名方式&#xff1a; 综合影响力排名&#xff1a;人民日报、新华社、…

OpenWRT (LEDE) 镜像使用帮助

openwrt | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror OpenWRT&#xff08;曾用名 LEDE&#xff09;是一款广泛应用于路由器的嵌入式操作系统。本站提供 OpenWRT 的包管理器 opkg 的 release 部分镜像。 本站不包含 snapshots 镜像&#xff0c;…

长连接技术

个人学习记录&#xff0c;欢迎指正 1.轮询 1.1 轮询的形式 短连接轮询 前端每隔一段时间向服务端发起一次Http请求来获取数据。 const shortPolling () > { const intervalHandler setInterval(() > {fetch(/xxx/yyy).then(response > response.json()).then(respo…