HDOJ5020【几何】

题意:
给你n个点,问有几对三个点在一条直线上
思路:
目前为止很少写的几何题…
一开始两层for没有判断重复。
然后看了一些题解说排序一下,然后枚举每个点,求一个同一斜率的个数k,ans+=(k-1)*k/2;因为取的是除了改点的其余两点,C(k,2);
大哥后来看了题说了一个(然而并不知道那个直线怎么表示,简单说一下):
求出来每条直线有多少点,然后每条直线,c(n.3)就可以了。
所以还要去重
两点确定一条直线后,就把这俩点加到这条直线,最后每条直线要去重,用一个set,自动去重。
OK。。这题不留代码。。。

原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934869.html