求助!!!P2240
  • 板块学术版
  • 楼主Orange1015
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/9/25 23:48
  • 上次更新2023/11/4 05:37:54
查看原帖
求助!!!P2240
565378
Orange1015楼主2021/9/25 23:48

为什么这段代码运行的时候第一个样例是RE,但其他的都是AC???

#include<iostream>
#include<iomanip>
using namespace std;
double n,t,m,ans;
double a[3][105]; // a[0]=weight  a[1]=price  a[2]=price/weight 
bool x=true;
int main(){
	cin >> n >> t;
	if(n==0||t==0){
		return 0;
	}
	for(int i=1;i<=n;i++){
		cin >> a[0][i] >> a[1][i];
		a[2][i]=a[1][i]*1.00/a[0][i];
	}
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			if(a[2][i]<a[2][j]){
				swap(a[2][i],a[2][j]);
				swap(a[1][i],a[1][j]);
				swap(a[0][i],a[0][j]);
			}
		}
	}
	int m=1;
	while(x){
		if(t>=a[0][m]){
			ans=ans+a[1][m];
			t=t-a[0][m];
			if(t==0){
				x=false;
			}
		}else{
			ans=ans+a[2][m]*1.00*t;
			t=0;
			x=false;
		}
		m++;
	}
	cout << fixed << setprecision(2) << ans;
	return 0;
}

太菜了以至于只会用冒泡排序 勿喷

2021/9/25 23:48
加载中...