1. 程式人生 > >codeforces 630C - Lucky Numbers 遞推思路

codeforces 630C - Lucky Numbers 遞推思路

遞推 mark 組成 pan 不難 spa sin markdown include

630C - Lucky Numbers

題目大意:

給定數字位數,且這個數字只能由7和8組成,問有多少種組合的可能性

思路:

假設為1位,只有7和8;兩位的時候,除了77,78,87,88之外還哇哦加上前面只有7和8的情況,一共是6位。所以遞推式不難寫出dp[i]=pow(2,i)+dp[i-1];

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans[56];
void init () {
    ans[1]=2;
    for(int i=2; i<=55; ++i) {
        ans[i]=pow(2
,i)+ans[i-1]; } } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); init(); int n; cin>>n; cout<<ans[n]<<endl; return 0; }

codeforces 630C - Lucky Numbers 遞推思路