UVA 10387 Billiard

题目

台球

分析

给定一台球桌的长和宽,运动允许的时间,碰撞长和宽的次数,问要使台球回到原位的打出角度和速度;
其实只是一堆折线,把它铺开,视为直线运动。那么和长宽的碰撞次数和长宽的乘积可以视为在xy坐标的移动距离;
故角度 θ=tanyx ,速度 v=v2x+v2y=xt2+yt2

代码

#include <stdio.h>
#include <math.h>

int main(void)
{
    int a, b, s, m, n;
    while (scanf("%d%d%d%d%d", &a, &b, &s, &m, &n), (a || b || s || m || n))
        printf("%.2lf %.2lf\n",
                atan((1.0*b*n)/(a*m))*180/(asin(1.0)*2),
                sqrt(((1.0*a*m)/s)*((1.0*a*m)/s)+((1.0*b*n)/s)*((1.0*b*n)/s)));
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值