파일 업로드

웜홀

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

주말에 고출력 양자 실험을 진행하던 외계인은 실수로 N개의 웜홀들이 (2 <= N <= 12, N even) 자신의 농장에 나타나게 했는데, 이 웜홀들은 그의 농장 2D 지도 상의 고유한 위치에 있습니다.

계산 결과, 외계인은 이 웜홀들이 N/2 쌍을 이룰 것이라는 것을 알게 되었습니다. 예를 들어, 웜홀 A와 B가 쌍을 이룬다면, A를 통해 들어가는 물체는 B에서 나오게 되고, B를 통해 들어가는 물체는 A에서 나옵니다. 

이 상황은 불안정한 결과를 초래할 수 있습니다. 만약 쌍을 이루는 웜홀 A가 (0,0)에 있고, B가 (1,0)에 있다고 가정하고, 그리고 소 한마리가 (1/2,0) 위치에서 +x 방향으로 이동한다고 가정하면, 그 소는 무한히 웜홀 B를 들어가고 A를 나오며 다시 B로 들어가는 싸이클에 갇히게 됩니다!

외계인은 자신의 농장의 각 웜홀의 위치를 정확히 알고 있습니다. 소 한마리가 항상 +x 방향으로 걷는 것을 알지만, 그 소가 현재 어디에 있는지는 확실하지 않습니다. 소 한마리가 불운한 위치에서 시작하여 무한 싸이클에 갇히게 될 수 있는 웜홀 쌍의 수를 세어주세요.

💻 입력
  • 첫 번째 줄 : 웜홀의 수, N.
  • 두 번째 줄..1+N 번째 줄 : 각 줄은 공백으로 구별된 두 정수로 구성되며, 이들은 개별 웜홀의 (x,y) 좌표를 설명합니다. 각 좌표는 0..1,000,000,000 범위에 있습니다.
🖨️ 출력
  • 첫 번째 줄 : 소 한마리가 어떤 시작점에서 +x 방향으로 걸으면서 무한 사이클에 갇힐 가능성이 있는 웜홀의 고유한 쌍의 수.

💻 예제 입력 1
4
0 0
1 0
1 1
0 1
🖨️ 예제 출력 1
2

출처: USACO 2013 December Contest, Bronze Problem 3. Wormholes