文章

10

粉丝

102

获赞

0

访问

4.7k

头像
组队刷题 题解:为什么不对 我这个struct就多定义了一个 就只能ac20%
P1307
发布于2024年3月22日 13:49
阅读数 506

#include<bits/stdc++.h>
using namespace std;
struct bankuai{
	double a;
	double b;
	double c=b/a;
}aa[1005];
 
bool cmp(bankuai a1,bankuai a2){
	return a1.c<a2.c;
}
int main(){	
	int m,n;
	while(cin>>m>>n){
		if(n==-1&&m==-1) break;		
		for(int i=0;i<n;i++){
			cin>>aa[i].a>>aa[i].b;			
		}
		sort(aa,aa+n,cmp);		
		double sum=0;
		for(int i=0;i<n;i++){
			if(m>=aa[i].b){
				sum+=aa[i].a;
				m-=aa[i].b;
			}
			else{
				sum+=(m/aa[i].c);
				break;
			}
		}		
		cout<<fixed<<setprecision(3)<<sum<<endl;
	}
}

 

登录查看完整内容


登录后发布评论

3 条评论
snake VIP
2024年3月29日 16:34

可以在输入之后把c的值打印出来看一下,应该是不支持这种写法的

赞(1)
zhaoxiaobao
2024年3月28日 15:16

解决了吗

赞(0)

snake : 回复 zhaoxiaobao: 可以在输入之后把c的值打印出来看一下,应该是不支持这种写法的

2024年3月29日 16:34