给定大米的价格,重量,袋数。给定钱,问这些钱能买大米的最大重量。

struct rice{

  int value;

  int number;

  int weight;

}rices[101];

int dp[101];

int main(){

  int n,i,j,money,num,x,k,ans,t;

  cin>>t;

  while(t--){

      memset(dp,0,sizeof(dp));

    scanf("%d%d",&money,&n);

    for(i=1;i<=n;i++)

     scanf("%d%d%d",&rices[i].value,&rices[i].weight,&rices[i].number);

    for(i=1;i<=n;i++)

     for(k=1;k<=rices[i].number;k++)  //相当于每次再加一袋大米

      for(j=money;j>=rices[i].value;j--)

        dp[j]=max(dp[j],dp[j-rices[i].value]+rices[i].weight) ; //买还是不买

   cout<<dp[money]<<endl;

  }

  return 0;

}