记录编号 433483 评测结果 AAAAA
题目名称 多边形面积 最终得分 100
用户昵称 GravatarHzoi_Mafia 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-08-05 16:23:54 内存使用 0.00 MiB
显示代码纯文本
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read(){
	int sum(0),f(1);
	char ch(getchar());
	for(;ch<'0'||ch>'9';ch=getchar())
		if(ch=='-')
			f=-1;
	for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
	return sum*f;
}
struct node{
	double x,y;//一定要用double,虽然全是int,但会炸精度 
	node(double x=0,double y=0):x(x),y(y){}
	node(const node &a,const node &b):x(b.x-a.x),y(b.y-a.y){}
	node operator-()const{
		return node(-x,-y);
	}
	node operator+(const node &a){
		return node(x+a.x,y+a.y);
	}
	node operator-(const node &b){
		return *this+(-b);
	}
}a[101];
inline double cross(const node &a,const node &b){//叉积 
	return a.x*b.y-b.x*a.y;
}
inline double area(const node &a,const node &b,const node &c){//三角形面积 
	return cross(node(a,b),node(a,c))/2.0;
}
int n;
double ans(0);
inline int gg(){
	freopen("areas.in","r",stdin);
	freopen("areas.out","w",stdout);
	n=read();
	for(int i=1;i<=n;i++)
		a[i].x=read(),a[i].y=read();
	for(int i=2;i<n;i++)
		ans+=area(a[1],a[i],a[i+1]);
	printf("%.0lf",ans);
	return 0;
}
int K(gg());
int main(){;}