物理1(phsic1)- 磁通量
输入样例
1
3 1
0 0
1 0
0 2
2
4 1
1 1
1 -1
-1 -1
-1 1
输出样例
1
1.0000
2
4.0000
解题思路
计算几何求面积
AC代码
#include<cstdio>
#include<cmath>
using namespace std;
double B,x,y,beginx,beginy,lastx,lasty,ans;
int n;
double cj(double x1,double y1,double x2,double y2)
{
return x1*y2-x2*y1;
}
int main()
{
scanf("%d%lf",&n,&B);
for(int i=1;i<=n;i++)
{
scanf("%lf%lf",&x,&y);
if(i>1)ans+=cj(lastx,lasty,x,y)/2.0;
if(i==1)beginx=x,beginy=y;
lastx=x,lasty=y;
}
ans+=cj(x,y,beginx,beginy)/2.0;
printf("%.4lf",abs(ans)*B);
return 0;
}