⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1275 两车追及或相遇问题.cpp

📁 威士忌的HDU题解.大概有260多题的源码。对于学习非常有好处。
💻 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 + -