#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<string>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<math.h>
#include<set>
#define N 110
#define LL long long
using namespace std;
const int inf = 0x3f3f3f3f;
struct node
{
LL st, ed;
node(LL xx, LL yy)
{
st = xx, ed = yy;
}
bool friend operator < (node t1, node t2)
{
if (t1.st != t2.st)
return t1.st > t2.st;
return t1.ed > t2.ed;
}
};
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
int n;
LL st, ed;
scanf("%d", &n);
priority_queue<node>w;
for (int i = 1; i <= n; i++)
{
scanf("%lld %lld", &st, &ed);
w.push(node(st, ed));
}
LL maxx = 0;
int ans = 0;
while (!w.empty())
{
node top = w.top();
w.pop();
if (top.st <= maxx && top.st + 1 <= top.ed) {
w.push(node(top.st + 1, top.ed));
continue;
}
if (top.st > maxx)ans++, maxx = max(maxx, top.st);
}
printf("%d\n", ans);
}
return 0;
}
zoj4120(优先队列)
最新推荐文章于 2021-06-26 23:39:09 发布