Sicily1011动态规划

来源:互联网 发布:xlsx密码破解软件 编辑:程序博客网 时间:2024/05/16 19:09
/* * Sicily1011Lenny'sLuckyLotto.cpp * *  Created on: 2015年1月13日 *      Author: Prophet */#include<iostream>#include<stdio.h>using namespace std;const int MAX_N = 10+2;const int MAX_M = 2000+10;int main(){long long dp[MAX_N][MAX_M];//dp[i][j]表示第i位是j时的方案数,dp[i][j]=sum(dp[i-1][k]|1<=k<=j/2)for(int i=1;i<MAX_M;i++)dp[1][i]=1;//只有1位时,所有的j的方案数都是1for(int i=2;i<MAX_N;i++){for(int j=1;j<MAX_M;j++){dp[i][j]=0;//初始化for(int k=1;k*2<=j;k++){dp[i][j]+=dp[i-1][k];}}}int TestCase;scanf("%d",&TestCase);int times=0;while(++times<=TestCase){int n,m;scanf("%d%d",&n,&m);long long result=0;for(int i=1;i<=m;i++)result+=dp[n][i];cout<<"Case "<<times<<": n = "<<n<<", m = "<<m<<", # lists = "<<result<<endl;}return 0;}

0 0
原创粉丝点击