[BOJ 7613] 보이 스카우트
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
5
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
보이 스카우트에서 매년 올림픽을 개최한다. 각각의 팀은 게임을 통해 점수를 얻고, 가장 높은 점수를 얻은 팀이 우승을 한다. 게임 후, 기타나 노래를 부르며 밤을 즐긴다.
올해는, 새로운 게임이 추가 될 예정이다. 게임 진영에는 N개의 나무가 있다. 각 팀은 특정 나무를 정한 뒤, 그곳에서 게임을 시작한다. 현재 나무에서 다른 나무로 이동할 때는 무조건 직선으로 가야한다. 이 게임은 시작점에 다시 돌아올 때 까지, 지나친 총 나무들의 수가 점수가 된다.
하지만, 여기에는 한 룰이 있다. 이동 할 때, 무조건 반시계 방향으로 방향회전을 해야한다는 것이다. 즉, 어떤 나무에 도달한 후에는 오직 왼쪽방향 180도 이내로만 회전하여 이동할 수 있다는 것이다.
종범이는 이 게임을 만들고, 어느 지점에 나무가 있는지까지 파악을 했다. 하지만 이 게임에서 얻을 수 있는 최대점수를 구하려고 하는데 어려움이 생겼다. 여러분의 도움이 필요하다!!
입력 형식
첫 줄에는 나무의 수 N (3 ≤ N ≤ 100)이 자연수로 주어집니다.
각각의 N개의 줄에는 i번째 나무의 좌표로 2개의 실수 x, y (−106 ≤ x, y ≤ 106)가 공백을 사이로 두고 주어집니다. 각각의 좌표는 소수점 2째자리 이내로 주어집니다.
한 직선위에 3개 이상의 나무가 존재하지 않습니다.
출력 형식
이 게임에서 얻을 수 있는 최대 점수를 첫 줄에 출력하세요.
예제 입력
5
0 0
1.5 -0.25
0 -1
-1 0.5
0.5 1
예제 출력
4
Comments