Pagini recente » Atasamentele paginii Resturi2 | Atasamentele paginii Taie | Diferente pentru utilizator/borodi intre reviziile 3 si 4 | Diferente pentru blog/square-root-trick intre reviziile 71 si 72 | Cod sursa (job #1418720)
#include <cstdio>
#include <algorithm>
using namespace std;
#define inFile "aria.in"
#define outFile "aria.out"
#define MAX_P 100000
FILE *in = fopen(inFile, "r");
FILE *out = fopen(outFile, "w");
struct Point {
double x;
double y;
};
Point P[MAX_P + 2];
int main() {
int i, N;
double AREA = 0.0;
fscanf(in, "%d", &N);
for(i = 1; i <= N; i++)
fscanf(in, "%lf %lf", &P[i].x, &P[i].y);
P[N+1] = P[1];
for(i = 1; i <= N; i++)
AREA += 0.5 * (P[i].x * P[i+1].y - P[i].y * P[i+1].x);
fprintf(out, "%.6f\n", AREA);
fclose(in);
fclose(out);
return 0;
}