#P17048. [SGU227] The art to the broad masses!
[SGU227] The art to the broad masses!
题目描述
抽象派画家 Madzinsky-Kalevich 在一张矩形画纸上画了 段圆弧。为了给作品起一个更吸引人的名字,他希望知道这些圆弧一共有多少个不同的交点。
每段圆弧由三个整点描述:
- 前两个点是圆弧的两个端点;
- 第三个点是位于这段圆弧上的一个中间点。
这三个点唯一确定了所在圆以及端点之间应选择的那一段圆弧。
所有圆弧所在圆的半径均不超过 。
你的任务是求所有圆弧之间的不同交点。
如果存在两段圆弧在一段非零长度的圆弧上重合,那么交点有无穷多个。
输入格式
第一行包含一个整数 :
。
接下来 行,每行包含六个整数:
表示一段圆弧,其中:
- 、 是两个端点;
- 是位于该圆弧上的中间点。
所有坐标的绝对值均不超过 。
输出格式
如果交点有无穷多个,只输出一行:
Infinity
否则,设不同交点数量为 :
- 第一行输出整数 ;
- 接下来 行,每行输出一个交点的坐标
x y; - 交点首先按 坐标升序排列;若 相同,则按 坐标升序排列;
- 坐标保留到小数点后 位。
保证在交点数量有限时,任意两个不同交点之间的距离不少于 。
样例 1
样例输入
3
7 4 7 -4 3 0
2 2 6 2 4 0
0 4 0 -4 4 0
样例输出
4
3.009 0.263
3.500 -1.936
3.500 1.936
4.000 0.000