zoukankan      html  css  js  c++  java
  • hdu 1275 两车追及或相遇问题

    思路:这里有2种情况:

    一种是相遇:满足关系是 (va+vb)*t=L*(2*n-1)

    一种是追及: 满足关系是 |va-vb|*t=L*(2*n-1)

    这样求出2种情况的时间,在排序就可以了……

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1275

    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    #include<iomanip>
    #include<cmath>
    #include<string>
    using namespace std;
    double
    ans[2001];
    int
    main()
    {

        int
    n,num,m,ia,ib,i,j;
        double
    len,va,vb,dis;
        cin>>m;
        while
    (m--)
        {

            cin>>len>>va>>vb>>num;
            j=1;
            for
    (i=1;i<=1000;i++)
            {

                ans[j++]=(2*i-1)*len/(va+vb);
                ans[j++]=(2*i-1)*len/fabs(va-vb);
            }

            sort(ans,ans+j);
            dis=ans[num]*va;
            while
    (dis-len>0) dis-=len;
            if
    (len-dis<dis) dis=len-dis;
            printf("Time=%.3lf Dist=%.3lf ",ans[num],dis);
        }

        return
    0;
    }

  • 相关阅读:
    开发day7
    开发day6
    开发day5
    开发day4
    开发day3
    开发day2
    开发day1
    假期学习2/8
    什么是栈帧
    JDK、JRE和JVM到底是什么
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3194172.html
Copyright © 2011-2022 走看看