Pagini recente » Cod sursa (job #327069) | Cod sursa (job #2214502) | Cod sursa (job #1290223) | Cod sursa (job #246771) | Cod sursa (job #1517654)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("hvrays.in");
ofstream fout ("hvrays.out");
char P[8200], *p;
void Verif()
{
if (*p == '\0')
{
fin.get(P, 8192, '\0');
p = P;
}
}
void Get(int &nr)
{
nr = 0;
while (*p < '0' || *p > '9')
{
p ++;
Verif();
}
while (*p >= '0' && *p <= '9')
{
nr = nr * 10 + *p - '0';
p ++;
Verif();
}
}
int main()
{
p = P;
Verif();
int t;
pair < int, int > H[100010], V[100010];
Get(t);
while (t --)
{
int sol = 0, y = -1, n, m;
Get(n); Get(m);
for (int i = 1; i <= n; i ++) { Get(H[i].first); Get(H[i].second); }
for (int i = 1; i <= m; i ++) { Get(V[i].first); Get(V[i].second); }
sort (H + 1, H + 1 + n);
sort (V + 1, V + 1 + m);
for (int i = n, j = m; i >= 1; i --)
{
if (H[i].second <= y)
{
continue;
}
else
{
sol ++;
y = -1;
while (V[j].first >= H[i].first && j >= 1)
{
y = max(y, V[j].second);
j --;
}
}
}
fout << sol << '\n';
}
return 0;
}