最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- 【例 4】旅行问题

C++ 少儿编程 1069浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

原题来自:POI 2004

John 打算驾驶一辆汽车周游一个环形公路。公路上总共有 $n$ 车站,每站都有若干升汽油(有的站可能油量为零),每升油可以让汽车行驶一千米。John 必须从某个车站出发,一直按顺时针(或逆时针)方向走遍所有的车站,并回到起点。在一开始的时候,汽车内油量为零,John 每到一个车站就把该站所有的油都带上(起点站亦是如此),行驶过程中不能出现没有油的情况。

任务:判断以每个车站为起点能否按条件成功周游一周。

【输入】

第一行是一个整数 $n$,表示环形公路上的车站数;

接下来 $n$ 行,每行两个整数 $p_i,d_i$ ,分别表示表示第 $i$ 号车站的存油量和第 $i$ 号车站到下一站的距离。

【输出】

输出共 $n$ 行,如果从第 $i$ 号车站出发,一直按顺时针(或逆时针)方向行驶,能够成功周游一圈,则在第 $i$ 行输出 $TAK$,否则输出 $NIE$。

【输入样例】

5
3 1
1 2
5 2
0 1
5 4

【输出样例】

TAK
NIE
TAK
NIE
TAK

【提示】

数据范围与提示:

对于全部数据,$3≤n≤10^6 ,0≤p_i≤2×10^9 ,0 < d_i ≤2×10^9$ 。

您必须 登录 才能发表评论!