您的位置:首页 > 其它

uva 10387

2013-08-06 21:18 169 查看
题意:有一个长为a宽为b的桌子,现在在桌子的中心放一小球,开始时小球的速度与水平方向有一个夹角,小球在s时间内在水平方向上与桌子相撞了n次,在垂直方向上与桌子相撞了m次,现在要求小球与水平方向所成的角度和速度大小.

思路:其实就是在一个无数个相同的桌子拼接成的图上找一条直线过两个桌子的中点,并,满足题目的碰撞次数。。。。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;

int main()
{
    double a,b,s,m,n,v,angle;
    double PI = acos(-1.0);
    while (scanf("%lf%lf%lf%lf%lf",&a,&b,&s,&m,&n))
    {
        if (a + b + s + n + m == 0)
            break;
        angle = atan((n*b)/(m*a));
        double l = sqrt(m*a*m*a+n*b*n*b);
        v = l / s;
        printf("%.2lf %.2lf\n",angle*180/PI,v);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: