#10005. 徐老师的机器人寻宝

    ID: 10005 传统题 文件IO:robot 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>CSP-J复赛模拟2026T2数学最大公约数哈希表枚举

徐老师的机器人寻宝

题目描述

徐老师有一个机器人,最近徐老师准备训练机器人在一个平面坐标系的地图中寻找宝藏。

徐老师在这个地图中一共设置了 nn 个宝藏,编号为 1n1\sim n,第 ii 个宝藏的坐标为 xi,yix_i,y_i

现在徐老师可以教机器人学会一些“移动模式”。

一条移动模式会用两个参数 a,ba,b 描述,意味着机器人可以从坐标 (x,y)(x,y) 移动到 (x+ka,y+kb)(x+ka,y+kb),其中 kk 是任意正整数。

机器人每次移动可以选择一条移动模式进行任意次调用。例如当前坐标为 (x,y)(x,y),选择模式 (a=1,b=1)(a=1,b=1) 后,可以移动到 (x+1,y+1),(x+2,y+2),(x+1,y+1),(x+2,y+2),\ldots 中的一个位置。

现在徐老师不知道机器人会如何在这个地图上移动,所以他需要教会机器人足够多的移动模式,使得机器人在任意两个宝藏之间移动只需要移动一次。

现在徐老师想知道,他至少要教会机器人几条移动模式才能满足要求?

输入格式

本题采用文件读写。

  • 读入文件名:robot.in
  • 写出文件名:robot.out

输入第一行包含一个整数 nn,表示宝藏个数。

接下来 nn 行,每行包含两个整数 (xi,yi)(x_i,y_i),表示第 ii 个宝藏的坐标。

输出格式

输出一个整数,表示徐老师至少要教会机器人几条移动模式。

样例

3
1 2
3 6
7 4
6
3
1 1
2 2
3 3
2

样例说明

对于样例 1,任意两个宝藏之间需要不同的移动模式。

对于样例 2,只要教会机器人两条移动模式 (1,1)(1,1)(1,1)(-1,-1) 即可。

数据范围与提示

  • 对于 20%20\% 的数据,n4n\le4

  • 对于 60%60\% 的数据,0xi,yi5000\le x_i,y_i\le500

  • 对于 100%100\% 的数据,2n5002\le n\le5000xi,yi1090\le x_i,y_i\le10^9

  • 保证任意两个宝藏的坐标不同。