ABC467D,但是我没学过计算几何
你是一个初二的 OIer,你今天在打 ABC,你看到了这道题。
由于你之前完全没有学过计算几何,所以你需要使用初中知识点爆切这道题,否则会爽爽掉分。
你注意力惊人,注意到了这道题可以使用垂径定理,也就是圆的中点在线段的中垂线上。进一步,你注意到了假如两条线段不平行,就必定有解,如下图所示:
你很快想到了线段的斜率公式
接着,你发现两条线段假如平行,有圆心当且仅当中垂线共线,下图左边是共线情况,右边是不共线情况:
现在你的问题来到判断中垂线是否共线了。一种你容易想到的解法是斜率相乘得
你再次发挥了注意力,中垂线重合等价于一条线段的中点在另一条线段的中点上,并且两直线平行。后面一点之前已经判断了,前面这一部分可以转化为一条线段的中点和另一条线段两端的距离相等,如图所示:
其中 long long。于是你愉快的使用初中知识点爆切了这道题!
由于集训机房打不开 AtCoder,所以代码就不放了。