文章

10

粉丝

102

获赞

0

访问

5.2k

头像
小偷的背包 题解:题目和简单背包问题一样的 为什么这边错误50%
P1123 中国科学技术大学机试题
发布于2024年3月17日 17:33
阅读数 500

#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b){
	return a>b;
}
int main(){
	int weight=0,n,temp;
	while(cin>>weight>>n){
		int a[n];
		for(int i=0;i<n;i++){
			cin>>a[i];
		}
		sort(a,a+n,cmp);
		for(int i=0;i<n&&weight>0;){
			if(weight-a[i]>=0)weight-=a[i];
			else i++;
		}
		if(weight==0){
			cout<<"yes!"<<endl;
		}
		else cout<<"no!"<<endl;
	}
}

 

登录查看完整内容


登录后发布评论

2 条评论
snake VIP
2024年3月17日 18:55

这个是经典的动态规划背包问题,贪心算法只能通过一部分的数据。

具体可以看书上8.5背包类问题

赞(0)

08193003 : 回复 snake: ok

2024年3月17日 19:53