#include<cstdio>
#include<iostream>
#include<cstring>
#include<set>
using namespace std;
struct node
{
int a,b;
bool operator <(const node &r)const
{
return a<r.a||(a==r.a&&b<r.b);
}
};
multiset<node> s;
multiset<node>::iterator it;
int main()
{
int t;
scanf("%d",&t);
for(int cas=1;cas<=t;cas++)
{
if(cas>1)printf("\n");
printf("Case #%d:\n",cas);
int n,a,b;
scanf("%d",&n);
s.clear();
while(n--)
{
scanf("%d%d",&a,&b);
node p=node{a,b};
it=s.lower_bound(p);
if(it==s.begin()||(--it)->b>b)
{
s.insert(p);
it=s.upper_bound(p);
while(it!=s.end()&&it->b>=b)s.erase(it++);
}
printf("%d\n",s.size());
}
}
return 0;
}
stl应用+uva11020
最新推荐文章于 2019-02-27 23:01:45 发布