0
点赞
收藏
分享

微信扫一扫

【luoguP2785】磁通量【计算几何】

书呆鱼 2022-01-18 阅读 39
![在这里插入图片描述](https://img-blog.csdnimg.cn/626c7074626443e28509e00bfa414b17.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc3NsbHly,size_20,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述

分析

叉积求面积,乘上B。每个三角形面积相加,最后取绝对值

上代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<iomanip>
using namespace std;

double n,b,x[100011],y[100011],ans;

double cj(double x1,double y1,double x2,double y2)
{
	return x1*y2-x2*y1;
}

int main()
{
	cin>>n>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>x[i]>>y[i];
	}
	for(int i=1;i<=n;i++)
	{
		int j=i+1;
		if(j==n+1) j=1;
		ans+=0.5*cj(x[i],y[i],x[j],y[j]);
	}
	printf("%.4lf",abs(ans*b));
	return 0;
 } 
举报

相关推荐

0 条评论