uva10910 背包
Posted zzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva10910 背包相关的知识,希望对你有一定的参考价值。
https://vjudge.net/problem/UVA-10910
给出N,T,P,表示N门考试考了T分,问有多少种不同的得分方案,已知每门课的得分不低于P。
令f[i][j]表示考了i门得了j分的方案数 f[i][j]=SUM{ f[i-1][j-k] | P<=k<=T&&2*P<=j<=T} 数据不大随便搞就过了不用刻意优化
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 #define qz q.size() 5 int f[105][105]; 6 int main() 7 { 8 int T,N,P,cas,i,j,k; 9 cin>>cas; 10 while(cas--){ 11 cin>>N>>T>>P; 12 memset(f,0,sizeof(f)); 13 f[0][0]=1; 14 for(i=1;i<=N;++i) 15 { 16 for(j=P*i;j<=T;j++) 17 { 18 for(k=P;k<=T;++k) 19 { 20 if(j-k<=T&&j-k>=0) 21 f[i][j]+=f[i-1][j-k]; 22 } 23 } 24 } 25 cout<<f[N][T]<<endl; 26 } 27 return 0; 28 }
以上是关于uva10910 背包的主要内容,如果未能解决你的问题,请参考以下文章
POJ 1015 / UVA 323 Jury Compromise(01背包,打印路径)
UVA - 12563 Jin Ge Jin Qu hao (01背包变形)