Pagini recente » Cod sursa (job #1447735) | Cod sursa (job #1342712) | Cod sursa (job #2274169) | Cod sursa (job #950060) | Cod sursa (job #1871140)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
const pair<double, double> O = make_pair(0, 0);
vector<pair<double, double> > V;
int n;
double x, y;
double aria;
double getArea(pair<double, double> p1, pair<double, double> p2, pair<double, double> p3)
{
return 0.5 * ((p2.first - p1.first) * (p3.second - p1.second) - (p2.second - p1.second) * (p3.first - p1.first));
}
void read()
{
freopen("aria.in", "r", stdin);
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%lf %lf", &x, &y);
V.push_back(make_pair(x, y));
}
}
void solve()
{
for(int i = 0; i < n - 1; i++)
aria += getArea(O, V[i], V[i + 1]);
aria += getArea(O, V[n - 1], V[0]);
}
void print()
{
freopen("aria.out", "w", stdout);
printf("%.5lf", aria);
}
int main()
{
read();
solve();
print();
return 0;
}