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;

} 

  

你可能感兴趣的:(简单)