uva 10387 Billiard(简单几何)

来源:互联网 发布:手机壁纸哪个软件最好 编辑:程序博客网 时间:2024/05/17 01:33

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。


简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。

可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。

最后扩展的路径和横边竖边恰好组成一个直角三角形,斜边是小球走过的路程,两条直角边刚好是 横边长度 * 与竖边碰撞次数 与 竖边长度 * 与横边碰撞次数。



一个高中数学复习的地方是,角度与弧度的转换。

atan(y / x)计算出来的是弧度:

atan(y / x)=  角度 * PI / 180。

so,角度 = atan(y / x) * 180 / PI。


代码:

#include <stdio.h>#include <math.h>const double PI = 4 * atan(1.0);const double Hu = 180 / PI;int main(){    #ifdef LOCAL    freopen("in.txt", "r", stdin);    #endif // LOCAL    int a, b, s, m, n;    while (scanf("%d%d%d%d%d", &a, &b, &s, &m, &n) == 5)    {        if (a == 0 && b == 0 && s == 0 && m == 0 && n ==0)            break;        double x = a * m;        double y = b * n;        double angle = atan(y / x);        double v = y / sin(angle) / s;        printf("%.2lf %.2lf\n", angle * Hu, v);    }    return 0;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 杨梅酒里的杨梅怎么办 月经期喝了啤酒怎么办 泡过酒的樱桃怎么办 泡了酒的桑葚怎么办 不知怀孕喝了酒怎么办 香氛蜡烛记忆环怎么办 我吃了马兜铃怎么办呀 肝肾衰弱有毒素怎么办 肾阴虚阳虚都有怎么办 吃辣刺激胃疼怎么办 舌头没有舌苔有裂纹疼痛怎么办 舌苔厚黄是怎么回事且口臭怎么办 舌苔厚白是怎么回事且口臭怎么办 长期有舌苔白厚怎么办 小孩的舌苔厚白怎么办 口苦口臭舌苔黄怎么办 婴儿的舌苔厚白怎么办 舌苔黄厚口臭痒怎么办 想让月经提前来怎么办 宝宝拉肚子怎么办吃什么好 投资p2p跑路了怎么办 借钱不还怎么办最有效 朋友借小钱不还怎么办 网络上贷款不还怎么办 网贷实在还不了怎么办 娱乐平台跑路了怎么办 360借条被拒了怎么办 网贷注册太多了怎么办 汽车大绿本丢了怎么办 网贷平台跑路怎么办 电脑中了1kb病毒怎么办 360网页走丢了怎么办 被信和汇金起诉怎么办 qq号搜不到好友怎么办 gta5买的车炸了怎么办 ipad千牛缩小了怎么办 求生之路2卡顿怎么办 仙剑奇侠传1凤凰怎么办打 水温报警灯亮了怎么办 遇到拿刀的歹徒怎么办 微信公众号被骗怎么办