Pagini recente » Cod sursa (job #175968) | Clasament hshrthsh | Cod sursa (job #804129) | Rating mihaila teodora (mihailateodora2002) | Cod sursa (job #993239)
Cod sursa(job #993239)
#include<fstream>
#define X first
#define Y second
#define US unsigned short
using namespace std;
ifstream fin("poligon.in");
ofstream fout("poligon.out");
int n,m;
pair<US,US> v[805],p;
long long aria,arie,sol;
inline long long det(int i)
{
return 1LL* p.X*v[i].Y + 1LL* v[i].X*v[i+1].Y + 1LL* v[i+1].X*p.Y -
(1LL* p.Y*v[i].X + 1LL* v[i].Y*v[i+1].X + 1LL* v[i+1].Y*p.X);
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
fin>>v[i].X>>v[i].Y;
v[++n]=v[1];
for(int i=1;i<n;i++)
aria+=1LL*v[i].X*v[i+1].Y-1LL*v[i].Y*v[i+1].X;
if(aria<0)
aria=-aria;
while(m--)
{
fin>>p.X>>p.Y;
for(int i=1;i<n;i++)
arie+=det(i);
if(arie<0)
arie=-arie;
sol+=(arie==aria);
}
fout<<sol<<'\n';
return 0;
}