/////* //// * algorithm04.cpp //// * //// * Created on: May 25, 2024 //// * Author: 28032 //// */ //// ////#include ////#include ////#include //// ////using namespace std; //// ////int *vw; ////double **mem; ////int cnt = 0; ////double dfs(int x,int spV) ////{ //// if(x>=cnt) return 0; //// double sum = 0; //// if(mem[x][spV]) sum = mem[x][spV]; //// //// if(spV < vw[x]) //// sum = dfs(x+1,spV); //// else //// sum = max(dfs(x+1,spV),dfs(x+1,spV-vw[x])+vw[x]); //// //// mem[x][spV] = sum; //// return sum; ////} ////int main() ////{ //// double Q; //// int N; //// while(1) //// { //// cin>>Q>>N; //// if(!N) break; //// cnt = 0; //// vw = new int[N]; //// for(int i = 0;i < N;i++) //// { //// if(false) //// { //// step1: //// i++; //// if(i >=N) //// break; //// } //// int nn; //发票物品数 //// double sum = 0; //发票总金额 //// cin>>nn; //// //// for(int j = 0;j < nn;j++) //// { //// char t,tt; //// double money; //// cin>>t>>tt>>money; //// if(money > 600) goto step1; //// switch(t) //// { //// case 'A': //// case 'B': //// case 'C': //// sum+=money; //// break; //// default: //// goto step1; //// } //// } //// if(sum >1000) goto step1; //// vw[cnt++] = sum*100; //// } //// int Qq= Q*100; //// //// mem = new double*[cnt]; //// for(int i = 0;i < cnt;i++) //// mem[i] = new double[Qq]; //// //// printf("%.2lf\n", dfs(0,Qq)/100.00); //// //// for(int i = 0;i < cnt;i++) //// delete mem[i]; //// delete[] mem; //// } //// //// //// //// return 0; ////} //// //// //#include //using namespace std; //struct price { // price():p(0.0),key('\0'){} // double p; // char key;//��Ʊ���� //}; //int main() { // double q; // int n; // vectorv; // while(1) { // cin>>q>>n; // if(n==0)break; // int n1; // v.clear();//��һ������Ҫ����Ϊ������������whileѭ����ߣ� // //����ÿ����һ�����������Ҫ������� ����ֹ�����ص� // // vectordp;//dp[i]��ʾ�Ե�i�ŷ�Ʊ��Ϊ���һ�ſɱ�����Ʊ������������������� // // while(n--) {//��Ʊ���� // cin>>n1; // double s1; // price temp; // int flag=0; // while(n1--) {//ÿ�ŷ�Ʊ�ϵ���Ʒ���� // char a,b; // cin>>a>>b>>s1; // if((a!='A'&&a!='B'&&a!='C')||s1>600)flag=1; // temp.p+=s1; // temp.key=a; // } // if(temp.p>1000) flag=1; // if(flag==0) { //˵���÷�Ʊ��û�в��ɱ��������� // v.push_back(temp); // dp.push_back(temp.p); // } // } // double sum=0;//Ҫ�ҵ����� // for(int i=0; isum)sum=dp[i]; // cout<