특수부대 기동 훈련

아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

사막에서 특수부대의 기동 훈련이 진행된다. 훈련의 핵심 과제는 사막 어딘가, 사전에 알 수 없는 위치에 숨겨진 폭탄을 해체하는 것이다.

훈련은 공수 작전으로 시작한다. 대원들은 상공에서 대기 중인 헬리콥터에서 미리 정해진 순서대로 한 명씩 뛰어내린다. 착지한 대원은 그 자리에 진지를 구축하고 이후로는 전혀 움직이지 않으며, 그제서야 다음 대원이 뛰어내린다. 순서는 반드시 지켜야 하고 어떤 대원도 자기 차례를 건너뛸 수 없다. 즉 ii번째 대원이 뛰어내렸다면 그보다 앞선 대원들은 모두 이미 뛰어내린 상태다.

각 대원에게는 생존 반경이 정해져 있다. 대원과 폭탄 사이의 거리가 생존 반경 이하이면, 폭탄이 터졌을 때 그 대원은 사망한다. 지휘부는 투입하는 대원 수를 최소화하되, 폭탄이 어디에 있든 대원 중 적어도 한 명은 반드시 살아남는다는 것을 보장하고자 한다.

사막을 평면으로 보고, 진지를 구축한 각 대원을 평면 위의 한 점으로 나타낸다. 각 대원에 대해 착지 지점의 좌표와 생존 반경이 주어진다.

폭탄이 어느 위치에 있더라도 적어도 한 명의 대원이 살아남는 것을 보장하기 위해 뛰어내려야 하는 대원의 최소 인원을 구하여 출력하는 프로그램을 작성하라.

입력

첫째 줄에 대원의 수를 나타내는 정수 nn (2n20002 \le n \le 2\,000)이 주어진다.

이어지는 nn개의 줄에는 각 대원의 정보가 뛰어내리는 순서대로 한 줄에 하나씩 주어진다. 각 줄에는 세 정수 xx, yy, rr (1000x,y1000-1\,000 \le x, y \le 1\,000, 1r50001 \le r \le 5\,000)이 주어진다. (x,y)(x, y)는 그 대원의 착지 지점이고, rr은 생존 반경이다. 폭탄이 대원으로부터 거리 rr 이내(경계 포함)에 있으면 폭탄이 터졌을 때 그 대원은 사망한다.

출력

폭탄이 어디에 있든 적어도 한 명이 살아남도록 보장하기 위해 뛰어내려야 하는 대원의 최소 인원을 정수 하나로 출력한다. 모든 nn명이 뛰어내려도 그러한 보장이 불가능하면, 대신 NIE(폴란드어로 "아니오")를 출력한다.

힌트