Glenbow Museum UVA - 1073

#include<bits/stdc++.h>
using namespace std;

#define rep(i,a,b) for(int i=a;i<b;i++)
typedef long long ll;
bool is_prime(int x){if(x<2)return false;int m=sqrt(x+0.5);rep(i,2,m+1)if(x%i==0)return false;return true;}


const int maxn=1010;

ll dp[maxn][5][2],ans[maxn];


void init(){
    rep(k,0,2){
        dp[1][0][k]=1;
        rep(i,2,maxn){
            rep(j,0,5){
                dp[i][j][k]=dp[i-1][j][k];
                if(j>0)dp[i][j][k]+=dp[i-1][j-1][k];
            }
        }
    }
    rep(i,1,maxn){
        if(i<4||i&1)continue;
        int R=(i+4)/2;
        ans[i]=dp[R][3][0]+dp[R][4][1]+dp[R][4][0];
    }
}

int main(){
    init();
    int n,kase=1;
    while(scanf("%d",&n)==1&&n){
        printf("Case %d: %lld\n",kase++,ans[n]);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36424540/article/details/81611290
今日推荐