POJ-2663-Tri Tiling

来源:互联网 发布:淘宝推广渠道有哪些 编辑:程序博客网 时间:2024/04/30 13:58

就是 POJ2411改一下就可以了~

代码:

#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=31;int n,sz,dp[maxn][9],s[4];void solve(){    memset(dp,0,sizeof(dp));    dp[0][s[0]]=dp[0][s[1]]=dp[0][s[2]]=1;    for(int i=1;i<n;i++)for(int j=0;j<sz;j++)    for(int k=0;k<8;k++)    {if(!dp[i-1][k])    continue;if((k&(~s[j]))!=0)    continue;dp[i][s[j]-k]+=dp[i-1][k];    }    printf("%d\n",dp[n-1][0]);}int main(){    s[0]=1;s[1]=4;s[2]=7;sz=3;    while(scanf("%d",&n)&&(n!=-1))    {if(n==0){    printf("1\n");    continue;}if(n&1){    printf("0\n");    continue;}solve();    }    return 0;}


原创粉丝点击