Bailian4130 踩方格【組合+打表】
阿新 • • 發佈:2021-02-20
技術標籤:PKU百練題解(Bailian)Bailian4130踩方格
4103:踩方格
總時間限制: 1000ms 記憶體限制: 65536kB
描述
有一個方格矩陣,矩陣邊界在無窮遠處。我們做如下假設:
a. 每走一步時,只能從當前方格移動一格,走到某個相鄰的方格上;
b. 走過的格子立即塌陷無法再走第二次;
c. 只能向北、東、西三個方向走;
請問:如果允許在方格矩陣上走n步,共有多少種不同的方案。2種走法只要有一步不一樣,即被認為是不同的方案。
輸入
允許在方格上行走的步數n(n <= 20)
輸出
計算出的方案數量
樣例輸入
2
樣例輸出
7
問題連結:Bailian4130 踩方格
問題簡述:(略)
問題分析:求組合數問題,關鍵是找出遞推式,然後打表。
程式說明:(略)
參考連結:(略)
題記:(略)
AC的C++語言程式如下:
/* Bailian4130 踩方格 */
#include <bits/stdc++.h>
using namespace std;
const int N = 20 + 1;
int ways[N];
int main()
{
int n;
ways[0] = 1;
ways[1] = 3;
scanf("%d", &n);
for(int i = 2; i <= n; i++)
ways[i] = 2 * ways[i - 1] + ways[i - 2];
printf("%d\n", ways[n]);
return 0;
}