Red and Blue
시간 제한1초메모리 제한1024 MB
N개의 점 사이에 빨간 선분과 파란 선분을 그려 각 색이 모든 점을 연결하고, 선분끼리 끝점이 아닌 곳에서 교차하지 않으며, 선분이 최대 2N-2개가 되도록 구성한다.
문제
좌표평면에 개의 점이 주어진다. 번째 점의 좌표는 이다. 모든 점들은 위치가 서로 다르며, 한 직선 위에 세 점이 놓이게 되는 경우는 없다.
당신의 목표는 점들의 쌍들 중 일부를 빨간색, 또는 파란색 선분으로 연결하여 다음 조건들을 모두 만족하도록 하는 것이다.
- 빨간색 선분만을 고려할 때, 모든 점들은 연결되어있다. 즉, 아무 서로다른 두 점을 잡아도 해당 두 점을 양 끝 점으로 가지는 빨간색 선분으로 이루어진 경로가 존재한다. 파란색 선분만을 고려할 때에도 성립한다.
- 임의의 두 선분이 두 선분의 끝점을 제외한 곳에서 교점을 가지지 않는다.
- 선분의 색상과 상관없이, 선분은 최대 개까지 존재한다.
조건을 모두 만족하도록 선분을 그릴 수 있는지 판별하고, 만약 가능하다면 답을 출력하라.
입력
첫 줄에 점의 수 이 주어진다.
다음 개의 줄 중 번째 줄에는 두 정수 가 공백을 사이에 두고 주어진다.
출력
만약 조건을 모두 만족하도록 점들을 연결하는 것이 불가능하다면, 첫 줄에 -1을 출력한다.
그렇지 않을 경우, 답을 출력한다. 첫 줄에는 답에 사용된 선분의 개수 을 출력한다.
다음 개의 줄 중 번째 줄에는 두 정수 와 , 한 문자 를 공백을 사이에 두고 출력한다. 이는 답에 사용된 번째 선분이 번째, 번째 점을 끝점으로 하는 선분임을 의미하며, 가 R일 경우 빨간색, B일 경우 파란색임을 의미한다.
제한
- 모든 에 대하여
- 모든 에 대하여
- 주어진 개의 점 중 세 점이 한 직선 위에 놓이게 되는 경우는 없다.