CodeForces - 552D
Description Vanya got bored and he painted n distinct points on the plane. After that he connected all the points pairwise and saw that as a result many triangles were formed with vertices in the painted points. He asks you to count the number of the formed triangles with the non-zero area. Input The first line contains integer n (1 ≤ n ≤ 2000) — the number of the points painted on the plane. Next n lines contain two integers each xi, yi ( - 100 ≤ xi, yi ≤ 100) — the coordinates of the i-th point. It is guaranteed that no two given points coincide. Output In the first line print an integer — the number of triangles with the non-zero area among the painted points. Sample Input
Input
4 0 0 1 1 2 0 2 2
Output
3
Input
3 0 0 1 1 2 0
Output
1
Input
1 1 1
Output
0 Hint Note to the first sample test. There are 3 triangles formed: (0, 0) - (1, 1) - (2, 0); (0, 0) - (2, 2) - (2, 0); (1, 1) - (2, 2) - (2, 0). Note to the second sample test. There is 1 triangle formed: (0, 0) - (1, 1) - (2, 0). Note to the third sample test. A single point doesn't form a single triangle. Source
//题意:
给你n个点,问可以组成多少个三角形?
//思路:
先求出来所有的情况为sum=C(n,3),再找出来不能组成的三角形的个数(三点在一条直线上)C(kk,3),相减即为所求。
在求kk时会用到去重公式:kk=(sqrt(1+8*cnt)+1)/2;不明白的自己推一下就知道了。
|
CodeForces - 552D Vanya and Triangles (数学几何求三角形个数)水
最新推荐文章于 2020-05-17 10:12:12 发布