ZOJ 3015 Collision Ball Game(反射)
来源:互联网 发布:淘宝卖家评价语大全 编辑:程序博客网 时间:2024/05/03 00:14
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3015
——训练时候的一道题,不过没什么人做,看来大家都不太喜欢计算几何= =
题目很容易理解,求小球运动的轨迹长度。如果不给定b这个题还会再有点难度,但是给了b的值就好算很多,但是也导致了不容易自己编数据。
首先这道题我想通过计算平行于x轴的l1的长度和剩下的半段l2的长度之和,算法是通过相似三角形或者直接利用tan的值,不过应该是因为精度损失严重WA了。
然后开始找损失精度小的方法,于是这才意识到为什么都知道反射角了却还要给b值,而后就想到了可以采用“入射角等于反射角”的办法找到(0,a)点关于斜边的对称点(xa,ya),最后用(xa,ya),(xa,0),(b,0)三点组成的三角形的斜边来作为这道题的答案。
#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define PI 3.141592653589793238462643383const double eps=1e-6;int main(){ double k,h,a,b,l1,l2; while(cin>>k>>h>>a>>b){ l1=2*(h-a)/(tan(k*PI/180)+1/tan(k*PI/180)); l2=-tan(k*PI/180)*l1+2*h-a;//l2为(xa,ya)和(xa,0)的距离 l1-=b;//l1为(xa,0)和(b,0)的距离 double l=sqrt(l1*l1+l2*l2); printf("%.2lf\n",l); } return 0;}
0 0
- ZOJ 3015 Collision Ball Game(反射)
- ZOJ 3728 Collision
- ZOJ 3728 Collision
- ZOJ 3728 Collision
- ZOJ 3728 Collision 简单几何
- ZOJ 3728 Collision (计算几何)
- ZOJ 3728 Collision 计算几何
- ZOJ 3728——Collision
- [计算几何] zoj 3728 Collision
- zoj 3728 Collision 计算几何
- A. Ball Game
- hdu4605 Magic Ball Game
- 4605 Magic Ball Game
- HDU4605-Magic Ball Game
- Ball Blasting Game UVA
- hdu 4605-Magic Ball Game(树状数组)
- hdu 4605 Magic Ball Game(离线+树状数组)
- HDU 4605 Magic Ball Game(离线、BIT)
- Android中 Webview中js与Activity的交互
- 关于WIN7玩坦克世界未响应问题解决方案
- IT公司面试题--最大储水量问题
- 数据结构学习笔记 图:邻接表(严蔚敏版)
- 创建自己的着色器程序
- ZOJ 3015 Collision Ball Game(反射)
- NO_10 翻转句子中单词的顺序。
- iOS6新特征:UICollectionView介绍
- 电脑提示丢失文件怎么办
- 人民心目中的毛主席
- 蓝桥杯 星际交流
- PHP5 session 详解【经典】
- 网站关键词排名不稳定分析
- iOS 项目中经常会用到的宏定义