제출 #5194

#제출 시각아이디문제언어결과실행 시간메모리
5194ainta초록색 삼각형 (YDX13_green)C++98
1 / 1
160 ms1136 KiB
#include<stdio.h>
#include<algorithm>
using namespace std;
struct point{
	int x, y;
	bool operator <(const point &p)const{
		return x != p.x ? x < p.x : y < p.y;
	}
}w[2010];
struct point2{
	long long x, y;
	bool operator <(const point2 &p)const{
		return y*p.x < p.y*x;
	}
}P[2010];
int n;
long double res, S, S2, T;
int main(){
	scanf("%d", &n);
	int i, j;
	for (i = 0; i < n; i++){
		scanf("%d%d", &w[i].x, &w[i].y);
	}
	if (n <= 2){
		printf("0\n");
		return 0;
	}
	sort(w, w + n);
	for (i = 2; i < n; i++){
		for (j = 0; j < i; j++)P[j].x = w[j].x - w[i].x, P[j].y = w[j].y - w[i].y;
		sort(P, P + i);
		S = 0, S2 = 0;
		for (j = 0; j < i - 1; j++){
			S += P[j].y, S2 += P[j].x;
			res += S2*P[j + 1].y- S*P[j + 1].x;
		}
	}
	T = n;
	T = T*(T - 1)*(T - 2) / 3;
	res /= T;
	printf("%.12llf\n", res);
}
#Verdict Execution timeMemoryGrader output
Fetching results...