杭电Online Judge1009题。C++结果输出不正确。求指正!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009#include<iostream>#include<algorit... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1009
#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
struct FS
{ double f;
double j;
};
int cmp1(FS a,FS b)
{
double aa,bb;
aa=(a.f+0.0)/(a.j+0.0);
bb=(b.f+0.0)/(b.j+0.0);
if(aa<bb)
return 1;
else
return 0;
}
int main()
{
int M,N;
while(cin>>M>>N)
{
if(M==-1&&N==-1)
break;
FS food[100];
double x,y;
int i;
for(i=0;i<N;i++)
{
cin>>x>>y;
food[i].j=x;
food[i].f=y;
}
sort(food,food+N,cmp1);
int money=M;
double amount=0.0;
for(int ii=0;ii<N;ii++)
{
if(money>food[ii].f)
{
money-=food[ii].f;
amount+=food[ii].j;
}
else
{
amount+=money*((food[ii].j+0.0)/(food[ii].f+0.0));
break;
}
}
cout<<setiosflags(ios::fixed)<<setprecision(3)<<amount<<endl;
}
system("PAUSE");
return 0;
}
展开
 我来答
野文菜A
2014-08-18 · TA获得超过830个赞
知道小有建树答主
回答量:645
采纳率:100%
帮助的人:511万
展开全部
我运行了一下,执行结果没有问题,但是和要求的输出格式不一致,
要求全部输入完毕才输出,是不是这个问题?
追问
请问怎么才能通过。。。你帮忙试一下呗
追答
把每次的结果放到数组或者vector里,最后输出一下就行了

#include
#include
#include
#include //111
using namespace std;

vector result;//222

else
{
amount+=money*((food[ii].j+0.0)/(food[ii].f+0.0));
break;
}
}
result.push_back(amount); //333
}
for(vector::const_iterator iter=result.begin();iter!=result.end();++iter)//44
std::cout<<setiosflags(ios::fixed)<<setprecision(3)<<*iter<<endl;//55
system("PAUSE");
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式