포럼
문제 USACO0559

소의 알리바이

설명

참고: 이 문제의 시간 제한은 기본의 두 배인 4초이다.

누군가가 농부 존의 개인 정원 \(G\) \((1 \le G \le 10^5)\)곳에서 풀을 뜯어 먹었다! 전문적인 법의학 지식을 활용하여 농부 존은 각 정원에서 풀이 뜯긴 정확한 시각을 알아냈다. 또한 모든 풀 뜯기 사건의 범인이 단 한 마리의 소라는 것도 알아냈다.

이 범죄에 대응하여, 농부 존의 소 \(N\) \((1 \le N \le 10^5)\)마리는 각각 특정 시각에 특정 위치에 있었음을 증명하는 알리바이를 제시했다. 각 알리바이가 그 소의 무죄를 입증하는지 검증하도록 농부 존을 도와준다.

어떤 소가 모든 풀 뜯기 사건 현장과 자신의 알리바이 사이를 모두 이동하는 것이 불가능하다면 그 소는 무죄로 판정할 수 있다. 소는 단위 시간당 1 단위 거리의 속도로 이동한다.

출제자: Mark Gordon

제약

배점

  • 입력 2-4: \(1 \le G, N \le 10^3\). 또한 정원과 알리바이 모두에 대해 \(-10^6 \le x, y \le 10^6\)이고 \(0 \le t \le 10^6\)이다.
  • 입력 5-11: 추가 제약이 없다.

출제자: Mark Gordon

입력 형식

입력의 첫째 줄에 \(G\)\(N\)이 공백으로 구분되어 주어진다.

다음 \(G\)개의 줄에 풀 뜯기의 위치와 시각을 나타내는 정수 \(x\), \(y\), \(t\) \((-10^9 \le x, y \le 10^9; 0 \le t \le 10^9)\)가 공백으로 구분되어 주어진다. 한 마리의 소가 모든 풀 뜯기 현장 사이를 이동하는 것은 항상 가능하다.

다음 \(N\)개의 줄에 각 소의 알리바이의 위치와 시각을 나타내는 \(x\), \(y\), \(t\) \((-10^9 \le x, y \le 10^9; 0 \le t \le 10^9)\)가 공백으로 구분되어 주어진다.

출력 형식

무죄를 입증하는 알리바이를 가진 소의 수를 하나의 정수로 출력한다.

예제 1
입력
2 4
0 0 100
50 0 200
0 50 50
1000 1000 0
50 0 200
10 0 170
출력
2
설명

There were two grazings; the first at \((0, 0)\) at time \(100\) and the
second at \((50, 0)\) at time \(200\).

The first cow's alibi does not prove her innocence. She has just enough time to
arrive at the first grazing.

The second cow's alibi does prove her innocence. She is nowhere near any of the
grazings.

Unfortunately for the third cow, being at the scene of the crime does not prove
innocence.

Finally, the fourth cow is innocent because it's impossible to make it from her
alibi to the final grazing in time.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2022-2023 > February > Silver

태그

평가 및 의견

Cow-libi

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

Log in to rate problems.

개별 의견

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

풀이 제출

Cow-libi

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8