E-olymp:蛋糕.回答错误

E-olymp: Cake. Giving Wrong Answer

本文关键字:错误 蛋糕 E-olymp      更新时间:2023-10-16
蛋糕这是一个e-olymp编程问题。

为了纪念一位继承人的出生,图蒂皇家厨师准备了一个巨大的蛋糕,放在三个胖子的桌子上。第一个胖子可以自己吃蛋糕t1小时,第二个可以吃t2小时,第三个可以吃t3小时。

三个胖子什么时候能同时吃蛋糕?

当我在正常的Gnu C++中提交时,它给出了27%的准确结果,而当我在Gnu C++ 4.7.1中提交时它给出了8%的准确结果??什么问题??是我的错吗??请帮忙。

我的代码:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    double t1, t2, t3;
    scanf("%lf %lf %lf", &t1, &t2, &t3);
    double ans=(t1/3.0)+(t2/3.0)+(t3/3.0);
    ans=(ans/3.0);
    printf("%.2lfn", ans);
    return 0;
}

您的逻辑是错误的。

想象一下,第一个人可以在1小时内吃掉整个蛋糕。

如果另外两个人帮忙,蛋糕会更快地吃完。这需要不到一个小时

以下是一个模拟该场景的输入。

1 999 999

您的程序计算所需的时间

((1/3.0)+(999/3.0)+(999/3.0)/3.0)

这是444.33小时。

我的方法是错误的。我必须使用以下规则:CCD_ 5小时/蛋糕=CCD_ 6蛋糕/小时。

对于这三个人来说,他们在一个小时内吃掉了1/t1+1/t2+1/t3蛋糕。

在h小时内,他们吃h(1/t1+1/t2+1/t3)蛋糕。

吃一整块蛋糕的时间必须满足h(1/t1+1/t2+1/t3)=1h=1/(1/t1+1/t2+1/t3).

代码将是:

double t1, t2, t3;
scanf("%lf %lf %lf", &t1, &t2, &t3);
double ans=1/((1/t1)+(1/t2)+(1/t3));
printf("%.2lfn", ans);