【拼多多】數三角形
阿新 • • 發佈:2019-01-06
連結:https://www.nowcoder.com/questionTerminal/21094574ed7e49fe9960e96e52aee1e7
來源:牛客網
[程式設計題]數三角形
- 熱度指數:984 時間限制:1秒 空間限制:32768K
- 演算法知識視訊講解
給出平面上的n個點,現在需要你求出,在這n個點裡選3個點能構成一個三角形的方案有幾種。
輸入描述:
第一行包含一個正整數n,表示平面上有n個點(n <= 100) 第2行到第n + 1行,每行有兩個整數,表示這個點的x座標和y座標。(所有座標的絕對值小於等於100,且保證所有座標不同)
輸出描述:
輸出一個數,表示能構成三角形的方案數。
示例1
輸入
4 0 0 0 1 1 0 1 1
輸出
4
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> #include<stdlib.h> using namespace std; struct node { long x,y; }point[10000]; int main() { long n; cin>>n; for(int i=0;i<n;i++){ cin>>point[i].x>>point[i].y; } long sum=0; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) for(int k=j+1;k<n;k++){ long a=(point[i].x-point[j].x)*(point[i].y-point[k].y); long b=(point[i].y-point[j].y)*(point[i].x-point[k].x); if(abs(a)!=abs(b))sum++; } cout<<sum<<endl; return 0; }