Pagini recente » Cod sursa (job #2167642) | Cod sursa (job #3187897) | Cod sursa (job #189290) | Cod sursa (job #379913) | Cod sursa (job #3148025)
#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<double, double> v[100005];
ll dist(ll X1, ll Y1, ll X2, ll Y2){
return (X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1);
}
double D(double X1, double Y1, double X2, double Y2, double X3, 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];
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;
}