算法训练 瓷砖铺放 递归
生活随笔
收集整理的這篇文章主要介紹了
算法训练 瓷砖铺放 递归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
問題描述
有一長度為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的狭义概念,“资源”这一概念,
- 下一篇: python惰性求值的特点_C#教程之C