测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2431. AKC-Special Forces Manoeuvres

编程题 省选/NOI-

题目描述

一个秘密组织正在沙漠中举行一次军事演习。本次演习的目标是拆除隐藏在沙漠中的一个炸弹。

演习的第一部分是空降作战。每个士兵**按照一定的顺序**从悬停在沙漠上空的直升机上跳下。着陆时,每个士兵都会停在他所在的着陆点。

每个空降兵都有一个生存半径。如果炸弹与他的距离小于或等于这个生存半径的话,空降兵便会牺牲自己引爆炸弹。指挥官希望能派出尽可能少的士兵,但他希望在**最坏情况下**至少有一个士兵能够生还。

整个沙漠可以抽象为一个平面,每个士兵的着陆点可以用一个坐标 $(x,y)$ 表示,他的生存半径我们设为 $r$。所有士兵的信息按照他们跳伞时的顺序给出,即第 $i$ 个士兵跳伞时,前 $i-1$ 个士兵都已经着陆。

你的任务是:从标准输入读入所有士兵的信息,输出最少需要派出的士兵数量。

输入格式

第一行一个整数 $n$。

接下来 $n$ 行,第 $i$ 行包含三个整数 $x_i,y_i,r_i$,代表第 $i$ 个士兵的着陆坐标为 $(x_i,y_i)$,生存半径为 $r_i$。

输出格式

如果无法让至少一个士兵生还的话,输出 NIE

否则输出一个整数,代表至少需要派出的士兵数量。

输入输出样例

输入 #1
5
2 2 4
7 2 3
4 3 1
5 7 1
8 7 1
输出 #1
4

说明/提示

![](/uploads/acgo/image/5ccf56180d1baf9f_4f1de6f1de82.png)

最坏情况下炸弹位于 $(5,3)$,前三个士兵都会被炸死,第四个士兵会生还。
上一题 去做题 下一题