Pagini recente » Cod sursa (job #251673) | Cod sursa (job #1468073) | Cod sursa (job #522781) | Cod sursa (job #2680706) | Cod sursa (job #3148027)
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
typedef long long ll;
ifstream fin ("aria.in");
ofstream fout ("aria.out");
ll n;
pair<long double, long double> v[100005];
ll dist(ll X1, ll Y1, ll X2, ll Y2){
return (X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1);
}
long double D(long double X1, long double Y1, long double X2, long double Y2, long double X3, long double Y3){
return (X2-X1)*(Y3-Y1)-(X3-X1)*(Y2-Y1);
}
int main()
{
fin>>n;
for (int i=0; i<n; i++)
fin>>v[i].first>>v[i].second;
v[n]=v[0];
long double sol=0;
for (int i=0; i<n; i++)
sol+=D(v[0].first, v[0].second, v[i].first, v[i].second, v[i+1].first, v[i+1].second);
sol=abs(sol);
fout<<fixed<<setprecision(6)<<sol/2;
return 0;
}