2159: [CSP-J 2022] 上升点列(point)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:7 解决:4

题目描述

在一个二维平面内,给定 n 个整数点 (x_i, y_i),此外你还可以自由添加 k 个整数点。

你在自由添加 k 个点后,还需要从 n + k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且横坐标、纵坐标值均单调不减,即 x_{i+1} - x_i = 1, y_{i+1} = y_i 或 y_{i+1} - y_i = 1, x_{i+1} = x_i。请给出满足条件的序列的最大长度。

输入

从文件point.in 中读入数据。
第一行两个正整数 n, k 分别表示给定的整点个数、可自由添加的整点个数。

接下来 n 行,第 i 行两个正整数 x_i, y_i 表示给定的第 i 个点的横纵坐标。

输出

输出到文件point.out 中。

输出一个整数表示满足要求的序列的最大长度。

样例输入 复制

8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3

样例输出 复制

8

提示

输入输出样例

输入 #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

说明/提示

【样例 #3】

见附件中的 point/point3.in 与 point/point3.ans

第三个样例满足 k = 0

【样例 #4】

见附件中的 point/point4.in 与 point/point4.ans

【数据范围】

保证对于所有数据满足:1 \leq n \leq 5000 \leq k \leq 100。对于所有给定的整点,其横纵坐标 1 \leq x_i, y_i \leq {10}^9,且保证所有给定的点互不重合。对于自由添加的整点,其横纵坐标不受限制。

测试点编号 n \leq k \leq x_i,y_i \leq
1 \sim 2 10 0 10
3 \sim 4 10 100 100
5 \sim 7 500 0 100
8 \sim 10 500 0 {10}^9
11 \sim 15 500 100 100
16 \sim 20 500 100 {10}^9

来源/分类