蒟蒻求解答,悬赏关注一个
  • 板块灌水区
  • 楼主晨曦时雨
  • 当前回复31
  • 已保存回复31
  • 发布时间2022/7/5 17:11
  • 上次更新2023/10/27 21:49:20
查看原帖
蒟蒻求解答,悬赏关注一个
379758
晨曦时雨楼主2022/7/5 17:11

错误代码

#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

double s,a,b,t1,t2;

void tim(double n){
	t1=n/b+(s-n)/a;
	t2=n/b+(n-n/b*a)/(a+b)+(s-(n/b*a)-(n-n/b*a)/(a+b)*a)/b;
	return ;
}

double work(double l,double r){
	double mid=(l+r)/2;
	tim(mid);
	if(fabs(t1-t2)<=1e-8)
		return mid;
	else if(t2>t1)
		work(l,mid);
	else
		work(mid+1,r);
}

int main(){
	scanf("%lf%lf%lf",&s,&a,&b);
	double n=work(1,s);
	printf("%.6lf\n",n/b+(s-n)/a);
	return 0;
}

AC代码

#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

double s,a,b,t1,t2;

void tim(double n){
	t1=n/b+(s-n)/a;
	t2=n/b+(n-n/b*a)/(a+b)+(s-(n/b*a)-(n-n/b*a)/(a+b)*a)/b;
	return ;
}

double work(double l,double r){
	double mid=(l+r)/2;
	tim(mid);
	if(fabs(t1-t2)<=1e-8)
		return mid;
	else if(t2>t1)
		work(l,mid-1);
	else
		work(mid+1,r);
}

int main(){
	scanf("%lf%lf%lf",&s,&a,&b);
	double n=work(1,s);
	printf("%.6lf\n",t1);
	return 0;
}
2022/7/5 17:11
加载中...