撞球
来源:互联网 发布:windows 7旗舰版32位 编辑:程序博客网 时间:2024/05/19 09:04
【题】
撞球(选做)
一天,丁俊晖编一整天的程序,突然觉得累了,于是便决定在房间内四处走走。他的房间是矩形的,他从电脑开始随便选了一个角度开始行走。由于职业习 惯,丁俊晖走路始终是直线,而且碰到墙以后会反弹,入射角度与出射角度完全相同。丁俊晖会一直行走,直到灵感再次迸发。假设他的行走速度是匀速的,现在, 丁俊晖的母亲想知道他一共休息了多长时间以便提醒他继续工作。
丁俊晖想考考他的母亲,于是他记录了自己碰到墙壁的序列并且告诉了她,你有没有办法能够帮助她计算出小丁所走的路程?
输入
输入包括多个测试用例,每个测试用例如下:
第一行包含两个数字 w, l(0<w, l<=1000),分别代表房间的宽度和长度;
第二行包括两个数字 x0, y0,代表电脑的位置坐标 (x0, y0);
第三行包含两个数字 x1, y1,代表丁俊晖的位置坐标 (x1, y1);
最后一行是一个包含'F', 'B', 'L', 'R'四种字符的字符串,分别代表墙在前面、后面、左边或是右边,字符串的长度小于等于 1000;
我们约定,左上角的坐标为0,0,所有的坐标都是浮点型数字。
输出
一个浮点型数字,代表总路程,结果精确到小数点后 4 位。
- 10 20↵
- 9 11↵
- 1 9↵
- FLRLRB↵
- 63.7809↵
- 11 22↵
- 8 12↵
- 2 10↵
- FLRLRB↵
- 67.9412↵
【分析】
这题不需要求出每个反弹点。
方法是利用物理的反射原理,考虑只有一次反弹的情况,利用“源点”(A)求出镜子里的“虚点”(A'),“虚点”(A')到目的点(B)的距离就是球走的距离。
以此类推,利用反弹序列,不断求出对应的虚点,最后转换成求两点之间的距离。
【代码】
太简单了,就不敲代码了。。。
- 撞球
- 撞球
- 撞球物理
- js_撞球游戏
- uva 10387 Billiard 几何 撞球
- Canvas制作 撞球游戏 简单易学
- android自定义动画实现牛顿撞球
- 转 第十一章 撞球物理(1)(as3.0)
- 转 第十一章 撞球物理(2)(as3.0)
- Cocos2d Box2D 开发Android下的 Breakout 撞球游戏
- Cocos2d Box2D 开发Android下的 Breakout 撞球游戏
- 韩顺平 javascript教学视频_学习笔记30_小球撞球游戏
- php实现多服务器共享session的方法
- JavaScript with语句使用方法
- droplist绑定与显示
- dal中执行存储过程
- 手机键盘
- 撞球
- common sql command
- c# 读取config文件默认值
- sql server中的存储过程代码
- 关于vs2010中使用本地帮助
- traits
- Init方法
- my97日期控件的使用
- radiobuttonlist控件使用