拼多多笔试题【数三角形】

牛客网题目链接

向量

  • 三角形只需要判断是否共线就行了
  • 三个点只要不共线,就能组成三角形
#include <iostream>
using namespace std;
int main(){
    
    
	int n, cnt = 0;
	scanf("%d", &n);
	int x[n], y[n];
	for(int i = 0; i < n; i++){
    
    
		scanf("%d %d", &x[i], &y[i]);
	}
	// 三角形只需要判断是否共线就行了 
	for(int i = 0; i < n; i++)
		for(int j = i+1; j < n; j++)
			for(int k = j+1; k < n; k++)
				if((x[k] - x[j])*(y[k] - y[i]) != (y[k] - y[j])*(x[k] - x[i]))
					cnt++;
	printf("%d", cnt);
	return 0;
} 

Guess you like

Origin blog.csdn.net/SYaoJun/article/details/117512069