Pagini recente » Cod sursa (job #2630007) | Cod sursa (job #3258719) | Cod sursa (job #929035) | Rating Iacobescu Tudor (solitaire) | Cod sursa (job #2287191)
#include <bits/stdc++.h>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
typedef long double ld;
const int MAXN = 1e5;
int n;
pair<ld, ld> point[MAXN + 2];
ld ans = 0;
ld det(pair<ld, ld> p1, pair<ld, ld> p2) {
return (p1.first * p2.second) - (p2.first * p1.second);
}
int main() {
in >> n;
for (int i = 0; i < n; ++ i) {
ld x, y;
in >> x >> y;
x += 1000000.0;
y += 1000000.0;
point[i] = {x, y};
}
point[n] = point[0];
if (n >= 3) {
for (int i = 1; i <= n; ++ i) {
ans += det(point[i - 1], point[i]);
}
}
out << fixed << setprecision(6) << ans / 2.0;
return 0;
}