#954. 上升点列(point)
上升点列(point)
题目描述
在一个二维平面内,给定 n 个整数点 (xᵢ, yᵢ),此外你还可以自由添加 k 个整数点。
你在自由添加 k 个点后,还需要从 n + k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且横坐标、纵坐标值均单调不减,即 xᵢ₊₁ - xᵢ = 1, yᵢ₊₁ = yᵢ 或 yᵢ₊₁ - yᵢ = 1, xᵢ₊₁ = xᵢ。请给出满足条件的序列的最大长度。
输入格式
第一行两个正整数 n, k 分别表示给定的整点个数、可自由添加的整点个数。
接下来 n 行,第 i 行两个正整数 xᵢ, yᵢ 表示给定的第 i 个点的横纵坐标。
输出格式
输出一个整数表示满足要求的序列的最大长度。## 样例 3 第三个样例满足 k = 0。
数据范围
| 测试点编号 | n ≤ | k ≤ | x_i, y_i ≤ |
|---|---|---|---|
| 1 ~ 2 | 10 | 0 | 10 |
| 3 ~ 4 | 100 | 100 | |
| 5 ~ 7 | 500 | 0 | |
| 8 ~ 10 | 10^9 | ||
| 11 ~ 15 | 100 | 100 | |
| 16 ~ 20 | 10^9 | ||
| 保证对于所有数据满足:1 ≤ n ≤ 500,0 ≤ k ≤ 100。对于所有给定的整点,其横纵坐标 1 ≤ xᵢ, yᵢ ≤ 10^9,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。 | |||
样例
输入样例 1
8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
输出样例 1
8
输入样例 2
4 100
10 10
15 25
20 20
30 30
输出样例 2
103