萌新求助,求大佬帮忙查错
查看原帖
萌新求助,求大佬帮忙查错
46951
宋建呈楼主2020/9/17 15:35
#include<iostream>
using namespace std;
int T,M,ans,l;
double bi[101];//T为总时间,M为种类数,bi为价值时间比,ans为输出结果 

int main(){
	cin>>T>>M;
	int cy[M][2];
	for(int i=0;i<M;i++){
		int a,b;
		cin>>a>>b;//a为草药所需时间,b为草药价值 
		cy[i][0]=a;
		cy[i][1]=b;
		bi[i]=(double)b/(double)a;
	}
	while( l<=5 ){//根据草药价值时间比进行排序 
		for(int j=0;j<M;j++){
			if(bi[j]<bi[j+1]){
				int x[101][1];
				x[j][0]=cy[j+1][0];
				cy[j+1][0]=cy[j][0];
				cy[j][0]=x[j][0];
				x[j][1]=cy[j+1][1];
				cy[j+1][1]=cy[j][1];
				cy[j][1]=x[j][1];
				l++;
			}
			else{
			}
		}
	}
	
	for(int k=0;k<M;k++){
		if(T<cy[k][0]&&T>=0){
			continue;
		}
		else if(T>=cy[k][0]){
			T-=cy[k][0];
			ans+=cy[k][1];
		}
		else{
			break;
		}
	}
	cout<<ans;
	return 0;
}
2020/9/17 15:35
加载中...