有没有$dalao$给个卡我的数据或帮忙调啊$QwQ$

P2571 [SCOI2010] 传送带

。。。去loj,上面有数据
by zhengzha @ 2018-12-07 13:51:45


~~以身相许太棒了~~
by 2019_nCoV @ 2018-12-07 13:52:51


~~以身相许,可以的~~
by Konjaku_百分百 @ 2018-12-07 13:54:48


@[地狱废龙](/space/show?uid=105281) 我死也不用结构体了嘤嘤嘤 $AC$ 了 ``` #include<bits/stdc++.h> #define N 5010 using namespace std; /*struct node{double x,y,time;}a[N]; struct nod2{double x,y,time;}b[N];*/ double Ax,Ay,Bx,By,Cx,Cy,Dx,Dy,P,Q,R,xx,yy; double ans=1e10; double ax[N],ay[N],bx[N],by[N],at[N],bt[N]; double sqr(double x){return x*x;} double dis(int i,int j)//两点间距离公式 { //return sqrt(sqr(a[i].x-b[j].x)+sqr(a[i].y-b[j].y)); return sqrt(sqr(ax[i]-bx[j])+sqr(ay[i]-by[j])); } int main() { cin>>Ax>>Ay>>Bx>>By>>Cx>>Cy>>Dx>>Dy>>P>>Q>>R; xx=(Bx-Ax)/N,yy=(By-Ay)/N;//把第一条线段平均拆成5000个点 for(int i=0;i<=N;i++) { ax[i]=Ax+xx*i;ay[i]=Ay+yy*i;//第一条顺着走 at[i]=sqrt(sqr(xx*i)+sqr(yy*i))/P;//时间=路程/速度 } xx=(Dx-Cx)/N,yy=(Dy-Cy)/N;//把第二条线段平均拆成5000个点 for(int i=0;i<=N;i++) { bx[i]=Dx-xx*i;by[i]=Dy-yy*i;//第二条反着走 bt[i]=sqrt(sqr(xx*i)+sqr(yy*i))/Q;//时间=路程/速度 } for(int i=0;i<=N;i++) for(int j=0;j<=N;j++) ans=min(ans,at[i]+bt[j]+dis(i,j)/R); //比较是直走还是去另一条传送带所需时间更短 printf("%.2lf",ans); return 0; } ```
by 打伞的大姐姐 @ 2018-12-07 13:59:48


~~hhh~~
by chest_dick @ 2018-12-07 14:07:56


~~233~~
by durex_com @ 2018-12-07 14:43:50


|