Cod sursa(job #573088)

Utilizator alexapoApostol Alexandru Ionut alexapo Data 5 aprilie 2011 21:22:44
Problema Poligon Scor 0
Compilator cpp Status done
Runda Lista lui wefgef Marime 0.81 kb
# include <fstream.h>
#include <algorithm>
#include<stdio.h>
using namespace std;
ifstream f("poligon.in");
ofstream g("poligon.out");
struct punct 
{
	int x,y;
	float p;
}v[803],point[60003];
int n,i,M,MM,ok;
void citprime()
{
	f>>n>>M;
	for(i=1;i<=n;i++)
		f>>v[i].x>>v[i].y;
	for(i=1;i<=M;i++)
		f>>point[i].x>>point[i].y;
}
bool exterior(int ax,int ay,int cx,int cy,int bx,int by)
{
	if(double((ay-by)/(ax-bx))<double((ay-cy)/(ax-cx)))
		return 1;
	return 0;
}
int main()
{
	citprime();
	MM=M;
	while(MM)
	{
		for(i=1;i<n;i++)
			if(exterior(v[i].x,v[i].y,point[MM].x,point[MM].y,v[i+1].x,v[i+1].y))
				ok=1,i=n+1;
			if(exterior(v[n].x,v[n].y,point[MM].x,point[MM].y,v[1].x,v[1].y))
				ok=1;
			MM--;
			if(ok)M--;
			ok=0;
	}
	g<<M<<'\n';
	f.close();
	g.close();
	return 0;
}