atcoder#ABC248E. [ABC248E] K-colinear Line

[ABC248E] K-colinear Line

题目描述

座標平面上の N N 個の点が与えられます。 1 i N 1\leq\ i\leq\ N について、i i 番目の点の座標は (Xi, Yi) (X_i,\ Y_i) です。

座標平面上の直線であって、N N 個の点のうち K K 個以上の点を通るものの個数を求めてください。
ただし、そのようなものが無数に存在する場合は Infinity を出力してください。

输入格式

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

N N K K X1 X_1 Y1 Y_1 X2 X_2 Y2 Y_2 \vdots XN X_N YN Y_N

输出格式

与えられた N N 個の点のうち K K 個以上の点を通る直線の数を出力せよ。ただし、そのようなものが無数に存在する場合は Infinity を出力せよ。

题目大意

给定平面直角坐标系上的 NN 个点,第 ii 个点的坐标为 (xi,yi)(x_i,y_i),问有多少条直线至少经过了 KK 个点。

5 2
0 0
1 0
0 1
-1 0
0 -1
6
1 1
0 0
Infinity

提示

制約

  • 1  K  N  300 1\ \leq\ K\ \leq\ N\ \leq\ 300
  • $ \lvert\ X_i\ \rvert,\ \lvert\ Y_i\ \rvert\ \leq\ 10^9 $
  • i j i\neq\ j ならば Xi Xj X_i\neq\ X_j または Yi Yj Y_i\neq\ Y_j
  • 入力はすべて整数

Sample Explanation 1

x=0 x=0 , y=0 y=0 , y=x± 1 y=x\pm\ 1 , y=x± 1 y=-x\pm\ 1 6 6 本の直線が条件をみたします。 例えば、x=0 x=0 は、1 1 , 3 3 , 5 5 番目の 3 3 個の点を通ります。 よって、6 6 を出力します。

Sample Explanation 2

原点を通る直線は無数に存在します。 よって、Infinity を出力します。