Cod sursa(job #573051)

Utilizator alexapoApostol Alexandru Ionut alexapo Data 5 aprilie 2011 20:37:29
Problema Poligon Scor 0
Compilator cpp Status done
Runda Lista lui wefgef Marime 0.93 kb
# include <fstream.h>
#include <algorithm>
#include<stdio.h>
using namespace std;
ifstream f("poligon.in");
ofstream g("poligon.out");
struct punct 
{
	float x,y,p;
}v[120005],w[120005],kk[120005];
int n,i,prim,k,M;
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>>kk[i].x>>kk[i].y;
}
void punct_inceput()
{
	prim=1;
	for(i=2;i<=n;i++)
		if(v[i].x<v[prim].x||v[i].x==v[prim].x&&v[i].y<v[prim].y)
			prim=i;
}
void pante()
{
	for(i=1;i<=n;i++)
		if(i!=prim)
				v[i].p=(v[i].y-v[prim].y)/(v[i].x-v[prim].x);
			
			
}
void pante_doi()
{
	for(i=1;i<=M;i++)
				kk[i].p=(kk[i].y-kk[prim].y)/(kk[i].x-kk[prim].x);
}
int main()
{
	citprime();
	punct_inceput();
	pante();
	pante_doi();
	int mm=M;
	int oki;
	while(mm)
	{
		oki=0;
	for(i=1;i<=n;i++)
		if(v[i].p<=kk[mm].p)
			oki=1;
		if(oki)M--;
		mm--;
	}
	g<<M<<'\n';
	f.close();
	g.close();
	return 0;
}