Pagini recente » Cod sursa (job #91182) | Cod sursa (job #879188) | Cod sursa (job #959701) | Cod sursa (job #2596195) | Cod sursa (job #2531411)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("aria.in");
ofstream fout ("aria.out");
struct Punct
{
int x, y;
};
Punct v[10005];
bool crt ( Punct a, Punct b );
int aria_triunghi ( Punct a, Punct b, Punct c );
int main()
{
int n, i, aria = 0;
fin >> n;
for ( i = 1 ; i <= n ; i++ ) fin >> v[i].x >> v[i].y;
sort ( v + 2 , v + n + 1, crt );
for ( i = 2 ; i < n ; i++ )
aria += aria_triunghi ( v[1], v[i], v[i+1] );
fout << aria;
return 0;
}
bool crt ( Punct a, Punct b )
{
if ( aria_triunghi ( v[1], a, b ) > 0 ) return 1;
return 0;
}
int aria_triunghi ( Punct a, Punct b, Punct c )
{
b.x -= a.x;
b.y -= a.y;
c.x -= a.x;
c.y -= a.y;
a.x = a.y = 0;
return ( b.x * c.y - b.y * c.x ) / 2;
}