트리플 > 문제은행



실전대비 Level6

1500 : 트리플

제한시간: 1000 ms    메모리제한: 64 MB
해결횟수: 7 회    시도횟수: 11 회   



1번부터 N번의 번호가 붙은 점들이 15,000 x 15,000 크기의 2차원 평면에 있다. 

점들의 위치는 정수 좌표로 정해져 있다(즉, 각 점들의 x, y 좌표는 0이상 15,000 이하의 정수로 이뤄진다.) 

이러한 점들이 주어졌을 때, 선택한 임의의 3개의 점이 일직선으로 잇는게 가능할 경우 이러한 점들을 triple이라고 한다. 

이러한 triple이 평면상에 몇 개가 있는지 알아보는 프로그램을 작성하라. 

하나의 점은 여러개의 트리플에 속할 수 있으며, 하나의 점만을 가지고 트리플을 만드는 경우는 없음을 유의하자.




입력의 첫 번째 줄에는 점의 개수 N(1≤N≤770)가 입력된다.
그리고 두 번째 줄부터 N+1번째 줄에는 각 점들의 x, y 좌표가 입력되며, 입력되는 순으로 점1, 점2, ..., 점N으로 번호가 매겨진다.




입력의 첫 번째 줄에는 트리플의 개수를 출력한다.
그리고 개수만큼의 트리플을 출력하는데, 각 트리플에 대한 정보는 3개의 숫자 - 각 점들의 번호 - 로 이뤄져야 한다.

또한 출력되는 트리플은 사전순으로 출력되어야 한다. 즉 1 3 4 보다 1 2 4가 우선되어 출력되어야 한다.



8
0 0
0 4
1 2
2 4
4 3
4 5
5 1
6 5
1
1 3 4



HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 031-388-0999 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.