破剑茶寮


私信TA

用户名:934947443

访问量:915

签 名:

等  级
排  名 2825
经  验 2060
参赛次数 1
文章发表 1
年  龄 0
在职情况 学生
学  校 洛阳师范学院
专  业

  自我简介:

TA的其他文章

解题思路:我这算是瞎猫碰到死耗子了吧。。。

注意事项:本来就是试一试竟然对了。。。

参考代码

#include<stdio.h>
int main()
{
 int max(int a,int b);
 int i,j,n,m,x[61][3];
 scanf("%d%d",&n,&m);
 for(i=1;i<=m;i++)
 {
  scanf("%d%d%d",&x[i][0],&x[i][1],&x[i][2]);
  x[i][1]=x[i][0]*x[i][1];
 }
 int p[32000];
 for(i=1;i<=m;i++)
 {
  if(x[i][2]!=0)
  {
   if(p[x[i][2]]<x[x[i][2]][1])continue;
  }
  for(j=n;j>=x[i][0];j--)
  {
   p[j]=max(p[j-x[i][0]]+x[i][1],p[j]);
  }
 }
 printf("%d",p[n]);
 return 0;
 }
int max(int a,int b)
{
 if(a>b)return a;
 else return b;
 }

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区