标签:
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17327 Accepted Submission(s): 7764
#include<iostream> #include<algorithm> using namespace std; int main() { int a,b,c; while( cin >> a >> b >> c,a,b,c) { if(a >= 4 || (a >= 2 && b >=1) || (a >= 1 && b >= 2)) { cout << a + b * 2 + c * 5 + 1 << endl; continue; } if(a == 0) cout << "1" << endl; else if(b == 0) cout << a + 1 << endl; else if(a == 1 && b == 1) cout << "4" << endl; } return 0; }
#include <iostream> #include <memory.h> #define N 8000 using namespace std; int num[4]; int c1[N+10],c2[N+10]; int main() { int i,j,k; int value[4]= {0,1,2,5}; while(cin>>num[1]>>num[2]>>num[3]) { if(num[1]==0&&num[2]==0&&num[3]==0) return 0; int n=0; for(i=1;i<=3;i++) n+=num[i]*value[i]; memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); c1[0]=1; for (i=1; i<=3; i++) { for (j=0; j<=n; j++) for (k=0; k*value[i]+j<=n&&k<=num[i]; k++) { c2[j+k*value[i]]+=c1[j]; } for (j=0; j<=n; j++) { c1[j]=c2[j]; c2[j]=0; } } int s; for(s=1;s<=n;s++) { if(c1[s]==0) break; } cout<<s<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/bushuiqitiandi/p/4677580.html