포럼
문제 USACO0379

소 장애물 경마 2

설명

과거에 농부 존은 새로운 소 스포츠에 대한 여러 혁신적인 아이디어를 구상했는데, 그중 하나가 소 떼가 코스를 돌며 장애물을 뛰어넘는 소 장애물 경마(Cow Steeplechase)였다. 이 스포츠에 대한 관심을 끌어모으려던 과거의 노력은 성과가 엇갈렸기에, 그는 더 큰 홍보 효과를 노리고 자신의 농장에 훨씬 더 큰 소 장애물 경마 코스를 지으려 한다.

농부 존의 새 코스는 \(1 \ldots N\)으로 편리하게 번호가 붙은 \(N\)개의 장애물 (\(2 \leq N \leq 10^5\))을 중심으로 세심하게 설계되었으며, 각 장애물은 코스의 2차원 지도 위에서 선분으로 표현된다. 이 선분들은 끝점에서조차 서로 어떤 식으로도 교차해서는 안 된다.

안타깝게도 농부 존은 코스 지도를 만들 때 주의를 기울이지 않았고, 선분들 사이에 교차가 있음을 알아차린다. 하지만 그는 선분을 딱 하나만 제거하면 지도가 원래 의도대로 교차하는 선분이 없는(끝점에서도 교차하지 않는) 상태로 복원된다는 것도 알아차린다.

농부 존이 계획에서 제거하여 어떤 선분도 교차하지 않는 성질을 복원할 수 있는 선분 하나를 구하시오. 이렇게 제거할 수 있는 선분이 여러 개라면, 입력에서 가장 먼저 나오는 것의 번호를 출력한다.

문제 제공: Brian Dean

제약

문제 제공: Brian Dean

입력 형식

첫째 줄에 \(N\)이 주어진다. 남은 \(N\)개의 줄 각각은 네 정수 \(x_1\) \(y_1\) \(x_2\) \(y_2\)로 선분 하나를 나타내며, 모두 \(10^9\) 이하의 음이 아닌 정수이다. 선분의 끝점은 \((x_1, y_1)\)\((x_2, y_2)\)이다. 모든 끝점은 서로 다르다.

출력 형식

그 선분을 제거하면 남은 선분들이 교차하지 않게 되는 선분 중, 입력에서 가장 앞선 번호를 출력한다.

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 cowjump.in · 출력을 쓸 파일 cowjump.out
예제 1
입력
4
2 1 6 1
4 0 1 5
5 6 5 5
2 7 1 3
출력
2
설명

Note: You may want to be careful of integer overflow in this problem, due to the
size of the integers provided as coordinates of segment endpoints.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2018-2019 > US Open > Silver

태그

평가 및 의견

Cow Steeplechase II

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Cow Steeplechase II

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (cowjump.in / cowjump.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8