RQNOJ 411area(求简单多边形面积)

/*
*  求简单多边形面积 
*/ 

#include <cstdio>
#include <iostream>

using namespace std;

const int N = 105;

struct point {
	int x;
	int y;
}p[N];

int crossProd(point A, point B) {
	return A.x*B.y - A.y*B.x;
}

int compArea(int n) {
	p[n] = p[0];
	int area = 0;
	for (int i=0; i<n; ++i) area += crossProd(p[i], p[i+1]);
	return area / 2;
}

int main() {
	int n;
	while (scanf("%d", &n) != EOF) {
		for (int i=0; i<n; ++i) scanf("%d%d", &p[i].x, &p[i].y);
		int area = compArea(n);
		printf ("%d\n", area);
	}
	return 0;
} 

  

posted on 2012-05-13 07:36  Try86  阅读(166)  评论(0)    收藏  举报