Pagini recente » Istoria paginii utilizator/daniel_ghindea | Diferente pentru problema/portale intre reviziile 43 si 44 | Diferente pentru problema/camionas intre reviziile 7 si 16 | Diferente pentru algoritmi-de-baleiere intre reviziile 30 si 13 | Cod sursa (job #1800999)
#include<fstream>
using namespace std;
int n, points[100000][2];
ifstream fin("geometry.in");
ofstream fout("geometry.out");
int area(int Ax, int Ay, int Bx, int By, int Cx, int Cy)
{
return (Ax * (By - Cy) + Bx * (Cy - Ay) + Cx * (Ay - By)) / 2;
}
int main()
{
fin >> n;
for (int i = 0; i < n; i++)
fin >> points[i][0] >> points[i][1];
int a = 0;
for (int i = 2; i < n; i++)
{
a += area(points[0][0], points[0][1], points[i][0], points[i][1], points[i - 1][0], points[i - 1][1]);
}
fout << abs(a);
}