2570 大牛们请教,总是WA,思路跟HDU论坛上一样啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2570 大牛们请教,总是WA,思路跟HDU论坛上一样啊相关的知识,希望对你有一定的参考价值。

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2570
#include <stdio.h>
int main()

int t,n;
double v,w,s,k,a;
double p[110],max,temp;
int i,j;
int local;
while(scanf("%d",&t)!=EOF)

while(t--)

scanf("%d%lf%lf",&n,&v,&w);
for(i=0;i<n;i++)

scanf("%lf",&p[i]);

for(i=n;i>0;i--)

max=p[0];
local=0;
for(j=0;j<i;j++)
if(max<p[j])

max=p[j];
local=j;

temp=p[i-1];
p[i-1]=p[local];
p[local]=p[i-1];

s=0;
k=0;
a=0;
for(i=0;i<n;i++)

a=a+p[i]/100*v; //a为溶质
s=a/(v*(k+1));
if(s<=w/100)
k++;
else

a=a-p[i]/100*v;
s=a/(v*(k));


printf("%.0lf %.2lf\n",k*v,k==0?0:s);


return 0;

请大家帮我看下哪里错,我郁闷一上午了

你代码的主要问题是实数的处理不到位,给你一组错误的数据,题目能用整数做就不要用实数做,实数在计算机当中的表示是近似值而不是准确值
1
2 1 6
5 7
(0.05+0.07不一定等于0.06+0.06哦)
对于实数的处理,一般给出一个误差eps,认为两个数只要在这个误差内,就算两个数相等

下面给出我的代码。
//Code by SCROOKE 2010-1-28 11:21:07
//Code for 紫英落 (baidu)
//HDU 2570

#include <iostream>
#include <algorithm>

using namespace std;

int main()

int n,p,q,r,s,t;
int a[100];
scanf("%d",&n);
while (n--)

scanf("%d%d%d",&p,&q,&t);
for (s=0;s<p;s++)

scanf("%d",&a[s]);
a[s]-=t;

sort(a,a+p);
r=0;
for (s=0;s<p;s++)
if (r+a[s]<=0)
r+=a[s];
else break;
if (s)
printf("%d %.2f\n",s*q,0.01*t+r*0.01/s);
else printf("%d %.2f\n",0,0);

return 0;
参考技术A 看了下自己的提交。没做过。
但是感觉可以用贪心算法解。

等我解解看

已解。AC代码如下,纯粹的贪心算法,重点在排序和溶质的计算
#include <iostream>
#include <algorithm>
using namespace std;

int main()

int n, v, w, a[101], i, vol, c;
double p;
cin >> c;
while (c--)
cin >> n >> v >> w;
vol = 0;
p = 0;
for (i = 1; i <= n; i++)
cin >> a[i];

sort(&a[1], &a[n] + 1);
for (i = 1; i <= n; i++)
if ((vol * p + v * a[i]) / (vol + v) > w)
break;
else
p = (vol * p + v * a[i]) / (vol + v);
vol += v;


printf("%d %.2lf\n", vol, p / 100);


菜鸟,大牛和教主三者的区别(转自hzwer)

         菜鸟,大牛和教主,三者的区别

对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的

对大牛来说题目有两种:会做的,不会做的

对教主来说题目有两种:能AC的,数据有错的

 

菜鸟提交WA了,找了N久找不出错时,在论坛大骂数据有错,但是没人理

大牛提交WA了,找了N久找不出错时,写暴力程序或者求别人的AC程序对拍

教主提交WA了,Judge马上修正数据

 

菜鸟面对一道难题,直接暴搜

大牛面对一道难题,算了算时间复杂度不对,或者证明出是NP难,果断放弃

教主面对一道难题,说,虽然我不会做,但AC还是没有问题的

 

菜鸟AC了一道难题,巴不得召告天下

大牛AC了一道难题,会写一篇解题报告,第一句话一定是:这题其实不难

教主AC了一道难题,好像什么都没发生过

 

菜鸟切OJ,只挑简单题做

大牛切OJ,成套成套地做

教主早就不切OJ了

 

菜鸟经常在论坛和QQ上求助

大牛经常在论坛和QQ上灌水

教主一般不露面

 

菜鸟喜欢说自己做了几十几百道题

大牛喜欢说自己把某个OJ做了百分之八九十

教主一般不说话

 

菜鸟队看到场上90%的队伍挂起了红球,开始找红球是哪道题

大牛队全场第一个挂起黄球,然后发现几乎同时有另外几支大牛队也挂起了黄球

教主队全场第一个挂起绿球,然后全场到最后也只有一个绿球

 

菜鸟喜欢搜集各种模板

大牛只用自己写的模板

教主不用模板,但他当场写的程序会被别人用作模板

 

菜鸟喜欢YY这种分析菜鸟、大牛和教主的区别的文章

大牛看完这样的文章会笑一笑,懒得回帖

教主直接无视

以上是关于2570 大牛们请教,总是WA,思路跟HDU论坛上一样啊的主要内容,如果未能解决你的问题,请参考以下文章

请教大牛们~python 如何获取前五分钟的时间~

[转]论菜鸟,大牛,教主的区别

HDU1010-奇偶剪枝(DFS)

菜鸟,大牛和教主三者的区别(转自hzwer)

数学建模注意事项及经验交流分享

送给前线码农的话 - 大牛们的经典语录