【HDOJ】1009 FatMouse' Trade

【题目】http://acm.hdu.edu.cn/showproblem.php?pid=1009

【报告】

    粗一看题目,哇,SF了,部分背包,贪心!

    然后一交,满心期待AC,结果悲剧的WA了。

    百思不得其解,百度了好多代码,总感觉是一样的。

    最后看了DISCUSS版,发现了那组坑爹的数据:

0 1
1 0
1.000

1 0
0.000

5 4
10000 5
2000 2
100 0
300 0
10400.000

    然后,就AC了……

【程序】

// TASK: 1009 FatMouse' Trade
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cstdio>
#define N 10000
using namespace std;
class thing
{
      public:
             double j,f;
             double v;
}a[N+1];
long n;
double m;
inline int cmp(const void*aa,const void*bb)
{
       thing a=*(thing*)aa,b=*(thing*)bb;
       if (a.v<b.v)
          return 1;
       else if (a.v==b.v) return 0;
       else return -1;
}
double ans;
int main(int argc, char *argv[])
{
    while (scanf("%lf%d",&m,&n))
    {
          if (m==-1||n==-1) break;
          if (n<=0)
          {
                   printf("%.3f\n",0.0);
             continue;
          }
      //    cout << m << " " << n << endl;
          ans=0.0;
          memset(a,0,sizeof(a));
          for (long i=1;i<=n;i++)
          {
              scanf("%lf%lf",&a[i].j,&a[i].f);
         //     cout << a[i].j << " " << a[i].f << endl;
              if (a[i].j<=0)
              {
                 i--;n--;continue;
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值