Pagini recente » Cod sursa (job #2419818) | Cod sursa (job #1682318) | Cod sursa (job #3205093) | Cod sursa (job #893044) | Cod sursa (job #1776255)
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
ifstream f ("aria.in");
ofstream g ("aria.out");
pair <int, int> pct[1000010], l, k, q;
int n, i, j, m;
double ariaTotala;
double aria ( pair <int, int> a, pair <int, int> b, pair <int, int> c )
{
double ans;
ans = a.x * b.y + b.x * c.y + c.x * a.y - c.x * b.y - a.x *c.y - b.x * a.y;
ans = ans*1/2;
return ans;
}
int main ()
{
f>>n;
for (i=1; i<=n; i++)
{
f>>pct[i].x>>pct[i].y;
}
pct[n+1]=pct[1];
q.x=0;
q.y=0;
for (i=1; i<=n; i++)
{
l=pct[i];
k=pct[i+1];
ariaTotala = ariaTotala + aria( l, k, q );
}
if (ariaTotala<0)
{
ariaTotala*=-1;
}
g.precision(5);
g<<fixed<<ariaTotala;
return 0;
}