为什么输出0.00
查看原帖
为什么输出0.00
536617
AniuKarry楼主2022/7/18 11:09

rt,我在上贪心这个算法的时候请假了,有些不理解。求调

#include<bits/stdc++.h>
using namespace std;
struct stud{
	int zl,zj,dj;
}a[1010];
bool cmp(stud a,stud b)
{
	if(a.dj!=b.dj) return a.dj>b.dj;
	
}
int main()
{
	 int n,t;
	 cin>>n>>t;
	 for(int i=1;i<=n;i++)
	 {
	 	cin>>a[i].zl >>a[i].zj;
	 	a[i].dj=a[i].zj/a[i].zl;
	}
	sort(a+1,a+1+n,cmp);
	int sum;
	for(int i=1;;i++)
	{
		if(a[i].zl>t)
		{
			sum+=a[i].dj*t;
			printf("%.2f",sum);
			return 0;
		}
		sum+=a[i].zj;
	}
}
2022/7/18 11:09
加载中...