暴力 WA了两个点
查看原帖
暴力 WA了两个点
773502
Billhqh9楼主2024/5/6 11:01
#include<cstdio>
#include<cmath>
#include<algorithm>

using namespace std;

const int N=1005;
const double _inf=0.000000001;

int Ax,Ay,Bx,By,Cx,Cy,Dx,Dy,P,Q,R;
double Ex[N+5],Ey[N+5],Fx[N+5],Fy[N+5],Exj,Eyj,Fxj,Fyj,ans=0x7f7f7f7f7f;

double cl_(int Ux,int Uy,int Vx,int Vy){
	return sqrt( pow(Ux-Vx,2) + pow(Uy-Vy,2) ) ;
}

int main()
{

	scanf("%d %d %d %d\n%d %d %d %d\n%d %d %d",&Ax,&Ay,&Bx,&By,&Cx,&Cy,&Dx,&Dy,&P,&Q,&R);
	Ex[1]=Ax,
	Ey[1]=Ay,
	Fx[1]=Cx,
	Fy[1]=Cy;
	Exj=(double)(Bx-Ax)/(N),
	Eyj=(double)(By-Ay)/(N),
	Fxj=(double)(Dx-Cx)/(N),
	Fyj=(double)(Dy-Cy)/(N);
	for(int i=2; i<=N+1; i++)
	{
		Ex[i]=Ex[i-1]+Exj,
		Ey[i]=Ey[i-1]+Eyj,
		Fx[i]=Fx[i-1]+Fxj,
		Fy[i]=Fy[i-1]+Fyj;
	}
	for(int i=1; i<=N+1; i++)
	{
		for(int j=1; j<=N+1; j++)
		{
			ans=min(ans,cl_(Ax,Ay,Ex[i],Ey[i])/P + cl_(Ex[i],Ey[i],Fx[j],Fy[j])/R + cl_(Fx[j],Fy[j],Dx,Dy)/Q);	
		}
	}
	
	printf("%.2lf",ans);
	
	return 0;

}

2024/5/6 11:01
加载中...