蓝桥杯 [ALGO-11] 瓷砖铺放

2024-06-10 07:58
文章标签 蓝桥 瓷砖 algo 铺放

本文主要是介绍蓝桥杯 [ALGO-11] 瓷砖铺放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

算法训练 瓷砖铺放

时间限制:1.0s   内存限制:512.0MB

问题描述

有一长度为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,代表地板的长度

输出格式

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

样例输入

4

样例输出

5

算法代码

import java.util.Scanner;public class Main {private static int n;private static int result = 0;public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNext()) {n = scanner.nextInt();int len = 0;getResult(len);System.out.println(result);result = 0;}}private static void getResult(int len) {if (len == n) {result++;return;}if (len > n) return;if (len + 1 <= n) getResult(len + 1);if (len + 2 <= n) getResult(len + 2);}}

 

这篇关于蓝桥杯 [ALGO-11] 瓷砖铺放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047588

相关文章

洛谷 P10584 [蓝桥杯 2024 国 A] 数学题(整除分块+杜教筛)

题目 思路来源 登录 - Luogu Spilopelia 题解 参考了两篇洛谷题解,第一篇能得出这个式子,第二篇有比较严格的复杂度分析 结合去年蓝桥杯洛谷P9238,基本就能得出这题的正确做法 代码 #include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<map>#include<uno

2013年蓝桥杯试题解析(一)

1.猜年龄       美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。   一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:  “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”  请你推算一下,他当时到底有多年轻。

计算最大数位-第13届蓝桥杯省赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第87讲。 计算最大数位,本题是2022年4月23日举办的第13届蓝桥杯青少组Python编程省赛真题编程部分第2题,13届一共举办了两次省赛,这是第二次省赛。题目要求对于给定的正整数N,请编程计

蓝桥杯 经典算法题 找到给定字符串中的不同字符

题目: 在不考虑字符排列的条件下,对于相差只有一个字符的两个字符串,实现一个算法来识别相差的那个字符。要求如下: 当传入的字符串为 aad 和 ad 时,结果为 a。 当传入的字符串为 aaabccdd 和 abdcacade 时,结果为 e。 题解: 因为一定有一个字符不相同,将字符串内部排序然后依次比较,输出新增串中与原串不一样的那一位即可。这里遍历原串和新增串比较,不同输出新增

蓝桥杯经典算法题 确定字符串是否是另一个的排序

题目: 实现一个算法来识别一个字符串 str2 是否是另一个字符串 str1 的排列。排列的解释如下:如果将 str1 的字符拆分开,重新排列后再拼接起来,能够得到 str2 ,那么就说字符串 str2 是字符串 str1 的排列。(不忽略大小写) 如果 str2 字符串是 str1 字符串的排列,则输出 YES;如果 str2 字符串不是 str1 字符串的排列,则输出 NO; 题解:

蓝桥杯 经典算法题 压缩字符串

题目: 实现一个算法来压缩一个字符串。压缩的要求如下: 需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进行压缩。 压缩的格式是将连续相同字符替换为字符 + 数字形式,例如 "AAABCCDDDD" 变为 "A3BC2D4"。 题解: 需要将字符串中相同字符叠在一起的部分压缩,也就是数出每一堆连在一起的相同字符的数量。 #include <iostream>usi

蓝桥杯基础训练完美的代价

思想: 运用了贪心的思想 从字符串的左面和右面开始匹配 保证了第一次到的相同字符距离左面的最近,然后将字符串的左面和右面字符去掉 匹配剩余的 一直进行下去 就会产生最终结果! 代码 #include<cstdio>const int maxn = 8001; char str[maxn];int parse(int len)//{int py;int ans1 = 0;int an

【无标题】蓝桥杯软件赛Java研究生组/A组)第二章基础算法-第四节:构造

构造类这种题目,比较开放、而且往往需要一些其他知识,往往就是读的时候感觉很麻烦抽象,但是看到答案后,又感觉非常简单这种题目没有必要死磕,有时间看看就行,总结总结 文章目录 一:什么是构造(1)概述(2)常见的构造题目类型 二:典型题目(1)题目一(2)题目二(3)题目三(4)题目四(5)题目五 一:什么是构造 (1)概述 构造:构造题在比赛和解决问题的过程中确实是常见的一类

第十五届蓝桥杯Python大学B组国赛I题题解

大概题目 某国王要给n个岛之间修桥,桥是双向的,国王可以将a岛和b岛连接起来,也可以将两座岛的桥炸掉,国王想知道经过一系列操作之后两座岛之间是否连接。 输入:岛屿数量n,每行第一个数是选择,1 是 合并,然后再输入两个岛屿a和b,输入 2 是炸掉最近一次合并的桥,如果没有桥就不需要任何操作,后面不需要岛屿a和b,如果输入 3 进行查询a与b是否相连。输入不是1,2,3则结束。 输出:两座岛是

蓝桥杯第八届_方格分割

方格分割 6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。 如图:p1.png, p2.png, p3.png 就是可行的分割法。 试计算: 包括这3种分法在内,一共有多少种不同的分割方法。 注意:旋转对称的属于同一种分割法。 请提交该整数,不要填写任何多余的内容或说明文字。 这里写图片描述 这里写图片描述这里写图片描述 观察可得他是一个中心对