📄 1275 两车追及或相遇问题.cpp
字号:
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{ int n,m,m1,m2;
double dis,va,vb,time,dist,t1,t2;
scanf("%d",&n);
while(n--)
{ scanf("%lf%lf%lf%d",&dis,&va,&vb,&m);//默认va>=vb
m1=1;m2=1;
if(va==vb)
{
dist=(m*2-1)*dis;
time=dist/(va+vb);
}
else
{
while(m--)
{
t1=dis*m1/(va+vb);
t2=dis*m2/(va-vb);
if(t1<t2)
{
m1+=2;
time=t1;
}
else if(t1>t2)
{
m2+=2;
time=t2;
}
else
{
m1+=2;
m2+=2;
time=t1;
}
}
}
dist=time*va;
dist=dist-int(dist/dis)*dis;
if(dist > dis-dist)
printf("Time=%.3lf Dist=%.3lf\n",time,dis-dist);
else
printf("Time=%.3lf Dist=%.3lf\n",time,dist);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -