Cod sursa(job #963866)
Utilizator | Data | 19 iunie 2013 16:36:46 | |
---|---|---|---|
Problema | Aria | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
long double abs (long double x)
{
if(x>0) return x;
return -x;
}
struct punct{
long double x;
long double y;
};
punct pol[100005];
int main()
{
int n,i;
long double sol=0;
f>>n;
for(i=1;i<=n;i++) f>>pol[i].x>>pol[i].y;
for(i=1;i<=n;i++) sol+= (pol[i].x*pol[i+1].y - pol[i+1].x*pol[i].y);
sol+=pol[n].x*pol[1].y - pol[1].x * pol[n].y;
g<<abs(sol/2.0);
f.close();
g.close();
return 0;
}