• 问题描述
  • 在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形。有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内)。受撞击后,球沿极角为a的射线(即:x正半轴逆时针旋转到此射线的角度为a)飞出,每次碰到球桌时均发生完全弹性碰撞(球的速率不变,反射角等于入射角)。

    如果球的速率为vs个时间单位之后球心在什么地方?

  • 输入
  • 输入文件最多包含25组测试数据,每个数据仅一行,包含8个正整数L,W,x,y,R,a,v,s(100<=L,W<=105, 1<=R<=5, R<=x<=L-R, R<=y<=W-R, 0<=a<360, 1<=v,s<=105),含义见题目描述。L=W=x=y=R=a=v=s=0表示输入结束,你的程序不应当处理这一行。
  • 输出
  • 对于每组数据,输出仅一行,包含两个实数x, y,表明球心坐标为(x,y)。x和y应四舍五入保留两位小数。
  • 样例输入
  • 100 100 80 10 5 90 2 23110 100 70 10 5 180 1 99990 0 0 0 0 0 0 0
  • 样例输出
  • 80.00 56.0071.00 10.00
  • 提示
思路:
这道题刚刚开始做的时候一直在想速度会如何改变,考虑了很多种情况,最后看了别人代码才知道,直接把速度分解,Vx,vy一经碰撞就直接反向。然后就只用考虑球的运 动状态。还是太水了,周赛还以为是一道难题,想着要求入射光线方程和反射光线方程。
#include<iostream>
#include <cmath>
#include<stdio.h>
using namespace std;
int main()
{int t;int l, w, r, a, v, s;double x, y;double pi = acos( -1.0 );double vx, vy;while( cin>>l>>w>>x>>y>>r>>a>>v>>s ){if( l==0 ) break;vy=sin( a*pi/180.0 )*v;vx=cos( a*pi/180.0 )*v;//cout<<vx<<" "<<vy<<endl;t=0;while( t!=s ){x+=vx;y+=vy;while( (x-r<0) || (x+r>l) || (y-r<0) || (y+r>w) ){if( x-r<0 ) x=2*r-x, vx=-vx;if( x+r>l ) x=2*l-2*r-x, vx=-vx;if( y-r<0 ) y=2*r-y, vy =-vy;if( y+r>w ) y=2*w-2*r-y, vy =-vy;}t++;}printf( "%.2lf %.2lf\n", x, y );}return 0;
}

完全碰撞问题 台球碰撞相关推荐

  1. NYOJ 665 台球碰撞

    台球碰撞 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的 ...

  2. 【算法修炼】台球碰撞 C

    台球碰撞 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的 ...

  3. 题目 1075: 台球碰撞

    样例输入 100 100 80 10 5 90 2 23 110 100 70 10 5 180 1 9999 0 0 0 0 0 0 0 0 样例输出 80.00 56.00 71.00 10.00 ...

  4. 椭圆台球桌中台球碰撞模拟

    题目:椭圆台球桌中台球碰撞模拟 内容: 掌握二维光线跟踪方法: 功能要求: (1)构建一张椭圆形台球桌: (2)使用鼠标指定椭圆内的一个随机起点S和方向c: (3)台球从S点出发,沿方向c按直线前进, ...

  5. 密码学系列之:碰撞抵御和碰撞攻击collision attack

    简介 hash是密码学和平时的程序中经常会用到的一个功能,如果hash算法设计的不好,会产生hash碰撞,甚至产生碰撞攻击. 今天和大家详细探讨一下碰撞攻击. 什么是碰撞攻击 所谓碰撞攻击指的是对于同 ...

  6. Hypermesh+dyna整车碰撞模型( 仿真+试验对标)-加计算分析报告 碰撞仿真与碰撞试验的对标模型及报告

    Hypermesh+dyna整车碰撞模型( 仿真+试验对标)-加计算分析报告 国外专业机构做的碰撞仿真与碰撞试验的对标模型及报告, 基本款与轻量化款对比,数据详实,不可多得的好资料,懂的工程师联系我. ...

  7. 基于Seajs的可控台球碰撞游戏

    前言 不记得哪个黑色星期五,贪吃鱼基本完工的时候,产品突然增加需求,要求金币扔出去后不消失,互相可碰撞,其最终结果还要由服务器控制(没错,至今做的所有游戏都有幕后黑手,=W=). 对于碰撞以前只写过一 ...

  8. C语言网 蓝桥杯训练 1075 台球碰撞

    样例输入 100 100 80 10 5 90 2 23 110 100 70 10 5 180 1 9999 0 0 0 0 0 0 0 0 样例输出 80.00 56.00 71.00 10.00 ...

  9. 编程习题练习记录--台球碰撞

    在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内).受撞击后,球沿极角为a的射线(即:x正半轴逆 ...

最新文章

  1. linux学习笔记一
  2. Ultimate SLAM:结合事件、图像和惯性测量单元,在HDR和高速场景下实现鲁棒的视觉SLAM...
  3. tensorflow loss nan 解决办法
  4. C++五子棋(三)——判断鼠标有效点击
  5. pythonsocket中tcp通信接收不到数据_TCP 为什么三次握手而不是两次握手(正解版)...
  6. hdu1054(最小顶点覆盖)
  7. find命令使用案例
  8. 机器学习精讲(向量逼近+函数逼近)学习笔记——第五章
  9. cas入门之:cas 4 如何以http形式发布
  10. 学习搭建谷粒商城微服务框架(Docker配置)-01
  11. 146条经典偏方(祖传秘方)
  12. Javascript中new关键字和this指向
  13. Android 播放器 mov,Android 调用系统播放器
  14. Eclipse刚下好,代码没问题,就是运行不起来
  15. 使用wandb报错:ERROR Error while calling WB API: project not found (<Response [404]>)
  16. C# GDI 手绘图片转化为电子版处理
  17. oppo R9sk 完美root 线刷包+救砖
  18. quartz所需表的说明
  19. 【简单总结】SLAM 算法的 Benchmark 及相关数据集的结果对比
  20. 一加手机怎么root权限_一加手机OnePlus卡刷获取root权限图文教程

热门文章

  1. Db2连接的详细信息
  2. vue2.0银行卡选择
  3. html登陆ajax全局拦截,jq阻止ajax进行屡次提交
  4. 深圳Java培训:Lock线程锁
  5. Oracle 10g数据库创建
  6. 基于html+css的图展示96
  7. 不断升级的ip可视对讲介绍
  8. Java处理PFX格式证书
  9. 解读分布式防火墙之――产品篇(转)
  10. 超全!目标跟踪中的评价指标有哪些?