Cod sursa(job #485829)

Utilizator bora_marianBora marian bora_marian Data 19 septembrie 2010 17:18:33
Problema Hvrays Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream>
using namespace std;
struct point{
   int x,y;};
point v[100010],h[100010];
int H,V,nrsol,t;
inline bool cmp(const point& a, const point& b);
void solve();
int maxim(int a,int b);
ofstream fout("hvrays.out");
int main()
{
	ifstream fin("hvrays.in");
	fin>>t;
	int i,j;
	for(i=1;i<=t;i++)
	{
		fin>>H>>V;
		for(j=1;j<=H;j++)
			fin>>h[j].x>>h[j].y;
		for(j=1;j<=V;j++)
			fin>>v[j].x>>v[j].y;
		nrsol=0;
		solve();
		fout<<nrsol<<"\n";
	}
	return 0;
}
void solve()
{
	int i,j;
	sort(h+1,h+H+1,cmp);
	sort(v+1,v+V+1,cmp);
	int dep=-1;
	for(i=1;i<=H;i++)
	{	
		if(h[i].x>dep)
		{
			nrsol++;
			for(j=1;j<=V;j++)
			{	
				if(v[j].y>=h[i].y)
					dep=maxim(dep,v[j].x);
			}
		}
	}
}
int maxim(int a,int b)
{
	if(a>b)
		return a;
	else
		return b;
}
inline bool cmp(const point& a, const point& b)
{
	if(a.y == b.y)
		return a.x > b.x;
	return a.y > b.y;
}