藍橋杯 瓷磚鋪放 遞迴

2022-08-28 10:15:11 字數 1354 閱讀 4451

問題描述

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

#include

#include

#define ci cin.tie(0)

#define ios ios::sync_with_stdio(false)

#define fi first

#define se second

using

namespace

std;

typedef

long

long

ll;typedef pair

pii;

const

int n = 11

;int

n, ans;

inta[n];

bool

vis[n];

void dfs(intu)

if (u > n) return

;

//選1

u += 1

; dfs(u);

u -= 1

;

//選2

u += 2

; dfs(u);

u -= 2

;

} int

main()

藍橋杯 瓷磚鋪放 搜尋

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