atcoder#DIVERTA20192B. Picking Up

Picking Up

题目描述

2 2 次元平面上に N N 個のボールがあり、i i 番目のボールは (xi, yi) (x_i,\ y_i) にあります。

まず、p  0 p\ \neq\ 0 または q  0 q\ \neq\ 0 を満たす 2 2 つの整数 p, q p,\ q を決め、その後以下の操作を繰り返してボールを全て回収します。

  • 残っているボールを 1 1 つ選んで回収する。このボールの座標を (a, b) (a,\ b) とする。この時、直前に選んだボールの座標が (a  p, b  q) (a\ -\ p,\ b\ -\ q) である時コスト 0 0 、そうでない時コスト 1 1 かかる。ただし、1 1 つ目に選んだボールについては必ずコスト 1 1 かかる。

p, q p,\ q を最適に選んだ場合にボールを全て回収するのにかかるコストの和の最小値を計算してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N x1 x_1 y1 y_1 : : xN x_N yN y_N

输出格式

ボールを全て回収するのにかかるコストの和の最小値を出力せよ。

题目大意

对于一个二维平面,上面有 NN 个球,对于第 ii 个球有坐标 (xi,yi)(x_i,y_i),选定一个二元组 (p,q)(p,q) 满足 p0p\ne 0p0p\ne 0,进行以下操作:

每次选择一个 (a,b)(a,b),收集所有在坐标 (akp,bkq)(kZ)(a-kp,b-kq)(k\in Z) 上的球,一共花费代价 11

求收集所有球所需最小代价。

By @SnapYust

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

提示

制約

  • 1  N  50 1\ \leq\ N\ \leq\ 50
  • xi, yi  109 |x_i|,\ |y_i|\ \leq\ 10^9
  • xi  xj x_i\ \neq\ x_j または yi  yj (i  j) y_i\ \neq\ y_j\ (i\ \neq\ j)
  • 入力は全て整数である

Sample Explanation 1

p = 1, q = 1 p\ =\ 1,\ q\ =\ 1 とすると、(1, 1) (1,\ 1) のボール、(2, 2) (2,\ 2) のボールの順に選ぶことでコスト 1 1 でボールを全て回収することができます。

Sample Explanation 2

p = 3, q = 2 p\ =\ -3,\ q\ =\ -2 とすると、(7, 8) (7,\ 8) のボール、(4, 6) (4,\ 6) のボール、(1, 4) (1,\ 4) のボールの順に選ぶことでコスト 1 1 でボールを全て回収することができます。