Pagini recente » Cod sursa (job #2563932) | Cod sursa (job #1839835) | Cod sursa (job #745429) | Cod sursa (job #1186688) | Cod sursa (job #485933)
Cod sursa(job #485933)
#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++;
int pp=0;
for(j=1;j<=V && pp==0;j++)
{
if(v[j].y>=h[i].y)
dep=maxim(dep,v[j].x);
else
pp=1;
}
}
}
}
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;
}