30玄关求调
查看原帖
30玄关求调
1144555
gdfz02sjy楼主2024/10/23 16:33
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d,xm[20];//创建数组
long long heavy,sum;//求出缆车体积和总共需要的缆车数量 
bool cat[20];//判断小猫还在不在 
int main(){
	cin>>a>>heavy;
	b=a;//记录小猫还剩多少 
	for(int i=0;i<a;i++)cin>>xm[i];
	sort(xm,xm+a);//从小到大排序
	while(b>0){
		sum++;//钱+1
		for(int i=0;i<a;i++){
			if(cat[i])continue;//跳过 
			if(c+xm[i]>heavy)break;//如果满员了
			else{
				c+=xm[i];//增加小猫的总重量 
				b--;//还需要运送的小猫-1 
				cat[i]=true;//标记小猫 
			} 
		} 
		c=0;//初始化 
	} 
	cout<<sum;
	return 0;
}

思路应该是搜索+贪心,过了#1#2#13#14

2024/10/23 16:33
加载中...