题目大意
题目链接
给出正n边形n个点的坐标, 求n变形面积的2倍, 3<=N<=100000
,0<=xi,yi<=10^9
, mod = 1000000007
AC代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #include <bits/stdc++.h> #define eps 1e-8 using namespace std; #define ms(a, b) memset((a), (b), sizeof(a))
typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> P; const int N = 1e5 + 5; const int INF = 0x3f3f3f3f; const ll ll_max = 4557430888798830399; const int mod = 1e9 + 7; inline ll read() { ll res = 0; bool f = 0; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = 1; ch = getchar(); } while (ch <= '9' && ch >= '0') { res = (res << 3) + (res << 1) + ch - '0'; ch = getchar(); } return f ? (~ res + 1) : res; }
struct node{ ll x, y; }a[N]; int n; ll ans; int main(){ while(~scanf("%d", &n)){ for (int i = 0; i < n; ++i) a[i].x = read(), a[i].y = read(); a[n] = a[0]; ans = 0; for (int i = 1; i <= n; ++i) ans = (ans + (a[i - 1].x * a[i].y - a[i].x * a[i - 1].y) % mod + mod) % mod; printf("%lld\n", ans); }
return 0; }
|
1
| 恰似你一低头的温柔,娇弱水莲花不胜寒风的娇羞, 我的心为你悸动不休。
|
原文作者: Mingfu Yan
原文链接: https://solodance.top/2020/06/26/求n边形的面积/
版权声明: 转载请注明出处(必须保留作者署名及链接)