算法训练 瓷砖铺放 递归
生活随笔
收集整理的这篇文章主要介绍了
算法训练 瓷砖铺放 递归
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
问题描述
有一长度为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#include<iostream> using namespace std; int n; int ans=0;void dfs(int m) {if(m<0)return;if(m==0){ans++;return;}dfs(m-1);dfs(m-2);}int main() {cin>>n;dfs(n);cout<<ans; }
总结
以上是生活随笔为你收集整理的算法训练 瓷砖铺放 递归的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: html5的狭义概念,“资源”这一概念,
- 下一篇: tina中信号带宽_关于通频带,3dB带