P1183 多边形的面积
#include <bits/stdc++.h>
using namespace std;
int n;
int x[110], y[110];
int ans;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; ++i)
scanf("%d%d", &x[i], &y[i]);
x[n + 1] = x[1],
y[n + 1] = y[1]; //注意算n次会涉及到n+1的点,那么这个点即是第一个点
for (int i = 1; i <= n; ++i)
ans += (x[i] * y[i + 1] - x[i + 1] * y[i]);
printf("%d", abs(ans / 2)); //我们最后再取绝对值除二
return 0;
}
题解:去了解一下叉积的几何意义(平行四边形面积的一半)回来就会做了