Pagini recente » Diferente pentru problema/pavare intre reviziile 2 si 3 | Cod sursa (job #115226) | Cod sursa (job #576647) | Cod sursa (job #2406146) | Cod sursa (job #923898)
Cod sursa(job #923898)
#include<cstdio>
#define LNG 110000
using namespace std;
struct point {double x,y;};
point a[LNG];
int n,i;
double S=0;
inline double modul(double x)
{
if (x<0) return -x;
else return x;
}
int main()
{
freopen("aria.in","r",stdin);
freopen("aria.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%lf%lf",&a[i].x,&a[i].y);
a[n+1]=a[1];
for (i=1;i<=n;i++)
{
S+=(double)((a[i].x*a[i+1].y)-(a[i+1].x*a[i].y));
}
S=modul(S/2.0);
printf("%.10lf",S);
fclose(stdin);
fclose(stdout);
return 0;
}