CodeForces - 552D Vanya and Triangles Submit Status 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 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 40 01 12 02 2 Output 3 Input 30 01 12 0 Output 1 Input 11 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 Codeforces Round #308 (Div. 2) //题意: 给你n个点,问可以组成多少个三角形? //思路: 先求出来所有的情况为sum=C(n,3),再找出来不能组成的三角形的个数(三点在一条直线上)C(kk,3),相减即为所求。 在求kk时会用到去重公式:kk=(sqrt(1+8*cnt)+1)/2;不明白的自己推一下就知道了。
|
Time Limit: 4000MS | | Memory Limit: 524288KB | | 64bit IO Format: %I64d & %I64u |