题目背景
考えたってわからないし
青空の下、君を待った
風が吹いた正午、昼下がりを抜け出す想像
ねぇ、これからどうなるんだろうね
進め方教わらないんだよ
题目描述
在一个无限大的棋盘上有 n 个位置互不相同的棋子 (xi,yi),你需要通过进行若干次以下操作删除全部的棋子:
-
选择一个格子 (x,y)。
-
若 (x,y) 上有棋子,则把这个棋子删掉,否则结束当前操作。
-
依次检查坐标为 (x+1,y+1),(x+1,y),(x+1,y−1) 的格子上是否有棋子。当检查到第一个有棋子的格子时,停止检查,并将当前的 (x,y) 更新为该格子的坐标后返回第二步。如果这三个格子都没有棋子,结束当前操作。
你要回答,最少操作多少次能把所有棋子删光。
输入格式
第一行一个正整数 n 表示棋盘上棋子的个数。
接下来 n 行,每行两个正整数 xi,yi 表示一个棋子的位置,保证没有两个位置相同的棋子。
输出格式
一行一个正整数,表示最少操作多少次能把所有棋子删光。
样例
4
1 3
2 2
3 1
3 3
2
样例 1 解释
对于第一组样例,棋盘如下图所示:

第一次选择格子 (1,3),则 (1,3),(2,2),(3,3) 被删除。
第二次选择 (3,1),则 (3,1) 被删除。
可以证明没有更优的选择方案。
9
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
3
数据范围
本题使用子任务捆绑。
对于所有的测试数据,满足 1≤n≤106,1≤xi,yi≤106。
子任务编号 |
n≤ |
xi,yi≤ |
特殊性质 |
分值 |
1 |
106 |
106 |
A |
10 |
2 |
8 |
无 |
20 |
3 |
300 |
4 |
5×104 |
5 |
106 |
30 |