Pagini recente » Cod sursa (job #701013) | Cod sursa (job #535177) | Cod sursa (job #862412) | Cod sursa (job #371407) | Cod sursa (job #2411594)
#include <iomanip>
#include <fstream>
using std::fixed;
using std::setprecision;
std::ifstream fin("aria.in");
std::ofstream fout("aria.out");
struct Point {
double x, y;
};
int n;
Point p[100000];
inline double cross(Point p0, Point p1, Point p2) {
return (p1.x - p0.x) * (p2.y - p0.y) - (p2.x - p0.x) * (p1.y - p0.y);
}
int main() {
fin >> n;
for (int i = 0; i < n; i++)
fin >> p[i].x >> p[i].y;
double area = 0;
for (int i = 2; i < n; i++)
area += cross(p[0], p[i - 1], p[i]);
area /= 2;
fout << fixed << setprecision(5);
fout << area << '\n';
fout.close();
return 0;
}