UVALive 6613 Collision(物理解方程)
来源:互联网 发布:淘宝数据包解压工具 编辑:程序博客网 时间:2024/05/16 07:43
思路:设走过的时间为t,那么就有在x方向上走过的路程x+t*vx,y方向上y+t*vy,然后代入圆的方程就可以解出两个根了,判断是不是有反弹也是同理的
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;int main(){double Rm,R,r,x,y,vx,vy; while(scanf("%lf%lf%lf%lf%lf%lf%lf",&Rm,&R,&r,&x,&y,&vx,&vy)!=EOF){double a = vx*vx+vy*vy;double b = 2*x*vx+2*y*vy;double c = x*x+y*y-(R+r)*(R+r);double delta = b*b-4*a*c;if(delta<=0 || a==0){printf("0.000\n");continue;}double t1 = (-b+sqrt(delta))/(2*a);double t2 = (-b-sqrt(delta))/(2*a);if(t2>=0){ c = x*x+y*y-(Rm+r)*(Rm+r);double delta1 = b*b-4*a*c;double ans=0.0;if(delta1<=0) ans = t1-t2;else{ double t3 = (-b-sqrt(delta1))/(2*a);ans = 2*(t3-t2);}printf("%.3lf\n",ans);}else{printf("0.000\n");continue;}}}
0 0
- UVALive 6613 Collision(物理解方程)
- HDU 4793 Collision --解方程
- [ZOJ3728] Collision && 暴力解方程
- Collision UVALive
- HDU-4793 Collision 计算几何 解方程
- hdu5114 Collision(一元同余方程)
- UVALive 3490(失配 + 解方程)
- HDU 5514 Collision(扩展欧几里得+解方程)——2014ACM/ICPC亚洲区北京站
- HDU 5114 Collision(一元线性同余方程)
- HDU 5114 Collision(一元线性同余方程)
- uvalive 5721 Activation (概率dp+方程)
- 【数学物理问题】UVALive
- HDU 5114 Collision 拓展GCD方法和解方程都能解
- 特征方程的物理意义
- Collision (hdu-5114)
- Collision
- 解方程(2)
- hdu 4793 Collision(几何)
- PHP5.4.36 RHEL6.5 源码编译安装
- UVALive 6611 Alice's Print Service(二分)
- iOS-截取字符串中两个指定字符串中间的字符串
- hdoj-2512-一卡通大冒险
- BestCoder Round #85 1001 1002
- UVALive 6613 Collision(物理解方程)
- 树莓派 使用xbox360手柄
- URAL 2025 Line Fighting 水题、贪心、均分
- C++ const的那些事
- 河南多校大一训练赛(贪心)
- break与return的作用
- 10019---访问远程Redis服务。Connect to Remote Redis Server
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- js一个事件绑定多个函数