传说中做cf不补题等于没做 于是第一次补...这次的cf没有做出来DE D题的描述神奇 到现在也没有看懂 于是只补了E
每次div2都是hack前2~3题 终于打出一次hack后的三题了...希望以后能越来越好 早日..至少变成蓝色名字吧:)
E题意 有一个蟑螂 人要打死它 给出蟑螂的坐标 速度 人的瞄准时间 再给出一些阴影(圆形且给出坐标与半径) 若蟑螂移动到阴影内会立即停下 人不能打到阴影中的蟑螂 问它不被打死的机率 蟑螂的移动方向是随机的
需要注意的是蟑螂只会朝一个方向走直线
所以我们对于每一个阴影圆 都判断一次 能否走到 如果能走到 就计算角度 这里利用atan来实现 atan(x,y) 返回的是平面直角坐标系上原点到x,y的线与x轴的夹角
需要注意的是 在两个圆的相交到一定程度的时候需要进行判断 是否到了最大值 在到达最大值之后 角度会减小 这时候应当取最大的角度
对于每一个可以到达的阴影 我们都可以得出一个角度区间 最后我们应当对每个区间进行合并
在angle+-ang之后 可能产生<-pi or >pi的角度 这时候我们进行分割 分成两份 一份在最左 一份在最右
排个序再进行判断就好
在补这道题的时候 acos的时候写错了字母...一路跑到了test79才wa掉...真是..doubility
#include #include #include #include