Balance
Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 10326 | Accepted: 6393 |
题意:给你n个挂钩g个砝码 以及n个挂钩的距离天平中心距离(负的代表左边正的代表右边)g个砝码的重量。
要求输出能够令天平平衡的方法种类
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int dp[25][15005]; int n,g,c[25],w[25],i,j; while(cin>>n>>g) { for(i=1;i<=n;i++) cin>>c[i]; for(i=1;i<=g;i++) cin>>w[i]; memset(dp,0,sizeof(dp)); dp[0][7500]=1; for(i=1;i<=g;i++) for(j=0;j<=15000;j++) if(dp[i-1][j]) { for(int k=1;k<=n;k++) dp[i][j+c[k]*w[i]]+=dp[i-1][j]; } cout<<dp[g][7500]<<endl; } return 0; }