题号:NC235569
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛可乐举办了一场名为 NCPC 的比赛,有

支队伍前来参赛,每只队伍的能力可以由两个整数

描述。对于一支队伍

,如果不存在另外一支队伍

满足

或者

,那么该支队伍就会进入牛可乐的观察列表。如果存在且队伍

在观察列表中,那么牛可乐会将这支队伍从列表中移除。
牛可乐会在队伍依次进场的过程中实时更新自己的观察列表,请你计算出,对于任意

,第

支队伍进场后,牛可乐的观察列表中有几支队伍。
输入描述:
第一行包含一个数字
,代表数据组数。
对于每一组数据,第一行包含一个整数
,代表队伍数量。
之后
行,每行包含两个整数
,代表第
支队伍的属性。
输出描述:
对于每组数据,输出
行。
第一行输出 "Case #
:"(不含引号),代表第
组数据。
之后

行,每行输出一个整数,代表第

支队伍进场后观察列表的队伍数量。
对于每组数据,你需要在结尾额外输出一个空行。
示例1
输入
复制
4
1
100 200
2
100 200
101 202
2
100 200
200 100
5
11 20
20 10
20 10
100 20
1 1
输出
复制
Case #1:
1
Case #2:
1
1
Case #3:
1
2
Case #4:
1
2
3
3
1
说明
对于第四组数据,前三队进场后都会加入观察列表且不会删除队伍,第四队进场后,前三队均满足属性偏序要求,因此第四队不会被加入观察列表,第五队进场后,前三队的对应属性均大于第五队对应属性,因此前三队会被移除,第五队会被加入观察列表,因此答案为
。