Tiling_easy version
生活随笔
收集整理的這篇文章主要介紹了
Tiling_easy version
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://acm.hdu.edu.cn/showproblem.php?pid=2501
題解:遞推
dp[i+2]=dp[i+1]+2*dp[i]
dp[i+2]相對于dp[i]正好多一個2x2的正方形,當前 i+1 個格子都填滿后,則第i+2 個格子就確定了,而當前i個 都填滿后,為了不與i+1 個格子都填滿的方案重復,則還有兩種方案可選,直接填2x2或填兩個1x2(橫著填)
#include <iostream> #include <stdio.h>using namespace std; int n,t; int dp[45]; int main() { dp[0]=1;dp[1]=1;dp[2]=3;for(int i=3;i<=40;i++){dp[i]=dp[i-1]+2*dp[i-2];}scanf("%d",&t);while(t--){scanf("%d",&n);printf("%d\n",dp[n]);}//cout << "Hello world!" << endl;return 0; }?
總結
以上是生活随笔為你收集整理的Tiling_easy version的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Blocks
- 下一篇: Training little cats