Light OJ 1191 Bar Codes (DP)

来源:互联网 发布:张晶漫画家 知乎 编辑:程序博客网 时间:2024/06/05 12:53

解析:实质上和Light oj 1145是一个题 可以参考http://blog.csdn.net/qq_26572969/article/details/50654796

[code]:

#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>using namespace std;typedef long long LL;int n,k,m;LL dp[55],A[55];int main(){    int i,j,cas,T;    scanf("%d",&cas);    for(T = 1;T <= cas;T++){        scanf("%d%d%d",&n,&k,&m);        memset(dp,0,sizeof(dp));        memset(A,0,sizeof(A));        dp[0] = 1;        int l,r;LL sum;        for(i = 1;i <= k;i++){            for(j = 0;j <= n;j++){                l = j+1,r = min(j+m+1,n+1);                A[l] += dp[j];                A[r] -= dp[j];            }            sum = 0;            for(j = 0;j <= n;j++){                sum += A[j];                dp[j] = sum;                A[j] = 0;            }        }        printf("Case %d: %lld\n",T,dp[n]);    }    return 0;}


0 0
原创粉丝点击