QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 1024 MB Total points: 100

#3283. 평행한 직선

Statistics

서로 다른 평면 위의 점이 짝수 개 주어진다. 모든 점을 둘씩 짝짓는 것을 생각한다. 주어진 모든 점이 정확히 하나의 다른 점과 짝지어지는 모든 가능한 경우를 고려해야 한다.

짝지은 각 쌍의 두 점을 잇는 직선을 그리면 일부 직선들은 서로 평행할 수 있다. 가능한 모든 점의 짝짓기를 고려하여 평행한 직선 쌍의 최대 개수를 구하는 것이 목표이다.

점 네 개가 주어진 첫 번째 예제 입력에는 그림 B.1처럼 세 가지 짝짓기가 있다. 평행한 직선 쌍의 개수는 왼쪽부터 $0$, $0$, $1$이다. 따라서 최댓값은 $1$이다.

problem_3283_11ee6be3bf9f53a5b0f6eb6b3dc59528.png

그림 B.1. 예제 입력 1의 가능한 세 가지 짝짓기 모두

점 여덟 개가 주어진 두 번째 예제 입력에서는 그림 B.2처럼 짝지을 수 있다. 이렇게 짝지으면 네 직선이 모두 서로 평행하다. 즉 여섯 직선 쌍 $(L_1,L_2)$, $(L_1,L_3)$, $(L_1,L_4)$, $(L_2,L_3)$, $(L_2,L_4)$, $(L_3,L_4)$가 평행하다. 따라서 이 경우 평행한 직선 쌍의 최대 개수는 $6$이다.

입력

입력은 다음 형식의 테스트 케이스 하나로 이루어진다.

$$\begin{gathered}m\\x_1\quad y_1\\\vdots\\x_m\quad y_m\end{gathered}$$

problem_3283_a32f127b92ca4c9aee6d4da1aba26b0a.png

그림 B.2. 예제 입력 2에서 평행한 직선 쌍의 개수 최대화

첫 줄에는 점의 개수를 나타내는 짝수 정수 $m$이 주어진다 ($2\le m\le16$). 다음 $m$줄에는 각 점의 좌표가 주어진다. 그중 $i$번째 줄의 정수 $x_i,y_i$ ($-1000\le x_i\le1000$, $-1000\le y_i\le1000$)는 각각 $i$번째 점의 $x$좌표와 $y$좌표를 나타낸다.

모든 점의 위치는 다르다. 즉 모든 $i\ne j$에 대해 $x_i\ne x_j$ 또는 $y_i\ne y_j$가 성립한다. 또한 어떤 세 점도 한 직선 위에 있지 않다.

출력

위에서 설명한 평행한 직선 쌍의 가능한 최대 개수를 한 줄에 출력하라.

예제

입력 1

4
0 0
1 1
0 2
2 4

출력 1

1

입력 2

8
0 0
0 5
2 2
2 7
3 -2
5 0
4 -2
8 2

출력 2

6

입력 3

6
0 0
0 5
3 -2
3 5
5 0
5 7

출력 3

3

입력 4

2
-1000 1000
1000 -1000

출력 4

0

입력 5

16
327 449
-509 761
-553 515
360 948
147 877
-694 468
241 320
463 -753
-206 -991
473 -738
-156 -916
-215 54
-112 -476
-452 780
-18 -335
-146 77

출력 5

12

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.