5572专题

[HDU 5572] An Easy Physics Problem (点在线上判定+对称)

HDU - 5572 给定一个圆和圆外两个点 A和 B 现在有一个质点在 A处,有速度方向 V 其与圆的碰撞是弹性碰撞,问质点是否能经过 B 分情况讨论 如果射线不与圆相交,直接判定点是否在射线上如果射线与圆相交,那么列方程解出与原交点 并得出反弹的法线方程,然后以法线方程作对称 最后判断点是否在一条线段和一条射线上 作对称的话可以将点 A以法线作对称,然后再用撞击点和对

hdu 5572 An Easy Physics Problem(几何)

题目链接:hdu 5572 An Easy Physics Problem 解题思路 注意精度误差,发射的情况可以对应求出B点的对称点再判断 代码 #include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const double eps = 1e-8;co