C語言 瓷磚鋪放

2021-09-07 10:16:21 字數 715 閱讀 3325

演算法訓練 瓷磚鋪放  

時間限制:1.0s   記憶體限制:512.0mb

錦囊1遞迴或遞推。

問題描述

有一長度為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

作者注釋:剛開始嘗試用遞迴。

1/*2

思路:3

當地板長度大於等於2時有兩種瓷磚可以選擇;

4否則只能選擇長度為1的瓷磚。

5由此進行遞迴,當地板長度為0時,結束。 6*/

7 #include8

intn,sum;

9int

ans;

10void dfs(int

sum)

15if(sum>=2)else21}

22int

main()

瓷磚鋪放(遞迴)

1 問題描述2 有一長度為n 1 10 的地板,給定兩種不同瓷磚 一種長度為1,另一種長度為2,數目不限。要將這個長度為n的地板鋪滿,一共有多少種不同的鋪法?3 例如,長度為4的地面一共有如下5種鋪法 4 4 1 1 1 15 4 2 1 16 4 1 2 17 4 1 1 28 4 2 29 程式...

演算法訓練 瓷磚鋪放

問題描述 有一長度為n 1 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 程式設計用遞迴的方法求解上述...

演算法訓練 瓷磚鋪放

資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 有一長度為n 1 10 的地板,給定兩種不同瓷磚 一種長度為1,另一種長度為2,數目不限。要將這個長度為n的地板鋪滿,一共有多少種不同的鋪法?例如,長度為4的地面一共有如下5種鋪法 4 1 1 1 1 4 2 1 1 4 1 2 1...