problem description
在2×n的乙個長方形方格中,用乙個1× 2的骨牌鋪滿方格,輸入n ,輸出鋪放方案的總數.
例如n=3時,為2× 3方格,骨牌的鋪放方案有三種,如下圖:
輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2×n (0
output
對於每個測試例項,請輸出鋪放方案的總數,每個例項的輸出佔一行。
sample input
1sample output32
1author32
lcy
source
遞推求解專題練習(for beginner)
recommend
lcy
找規律,f(1)=1,f(2)=2,f(3)=5,當有n個方格的時候,有兩種鋪法:
1)先鋪好n-1個格,有f(n-1)個方法,再鋪第n層的時候只有一種方法,所以總方法是1*f(n-1);
2)先鋪好n-2格,有f(n-2)個方法,再鋪後面兩層的時候只能兩個都豎著鋪(否則與第一種情況重複),所以也只有一種情況,總方法數是1*f(n-2)
推出f(n)=f(n-1)+f(n-2)
注意會爆int,要使用long long
**:
#include #include #include #include #include #include #include #include #include #include #include #include #define maxn 15
#define maxn 100005
#define mod 1000000007
#define inf 0x3f3f3f3f
#define exp 1e-6
#define pi acos(-1.0)
using namespace std;
int main()
{ //freopen("d:\\a.txt","r",stdin);
ios::sync_with_stdio(false);
long long int f[51];
int n,i;
f[1]=1;
f[2]=2;
f[3]=3;
for(i=4;i<51;i++)
f[i]=f[i-1]+f[i-2];
while(cin>>n)
{cout<
骨牌鋪方格
time limit 1 sec memory limit 128 mb submit 43 solved 12 submit status web board 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下...
骨牌鋪方格
problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 input 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0 n 50 outpu...
骨牌鋪方格
problem description 在2 n的乙個長方形方格中,用乙個1 2的骨牌鋪滿方格,輸入n 輸出鋪放方案的總數.例如n 3時,為2 3方格,骨牌的鋪放方案有三種,如下圖 輸入資料由多行組成,每行包含乙個整數n,表示該測試例項的長方形方格的規格是2 n 0 n 50 output 對於每個...