社区讨论

哪错了

P1757通天之分组背包参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi7xyrxf
此快照首次捕获于
2025/11/21 05:26
4 个月前
此快照最后确认于
2025/11/21 05:26
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstdio>
using  namespace  std;
int  f[1005],a[1005],b[1005],c[1005],t[105][20];
int  main()
{
    int  i,j,k,m,n,cn=0;
	cin>>m>>n;
	for(i=1;i<=n;i++)
	{
	   cin>>a[i]>>b[i]>>k;
	   cn=max(cn,k);
	   c[k]++;
	   t[k][c[k]]=i;
	}
	for(i=1;i<=cn;i++)	  
	{
		for(j=m;j>0;j--)
		  for( k=1;k<=c[i];k++)
		     if(j>=a[t[i][k]])
		          f[j]=max(f[j],f[j-a[t[i][k]]]+b[t[i][k]]);
		        else  break;
		          
		}	
	cout<<f[m];
	return  0;
 } 
哪错了

回复

2 条回复,欢迎继续交流。

正在加载回复...