QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 256 MB Total points: 100

#268. 迈达斯

Statistics

Byteasar 是米达斯国王的皇家工程师,他受命建造一座迷宫。这座迷宫本应是一座博物馆,其房间内陈列着珍贵的展品。实际上,它是一个敲诈游客的陷阱,其唯一目的就是为本已庞大的皇家国库敛财。

迷宫由房间和连接它们的走廊组成。其中一个房间是迷宫的入口,并已作了相应标记。在每个房间中,进入该房间的走廊会分叉,从而产生两条出口走廊:左侧和右侧;每一条都可能被封锁,在这种情况下无法通行。奇怪的是,尽管走廊会分叉,但它们从不汇合。每位进入迷宫的游客都会得到一个设备,该设备会记录他们经过的每条走廊的费用。费用取决于已支付的金额以及当前选择的是左侧还是右侧。具体来说,走左侧走廊的费用恰好等于目前为止已支付的总金额,而走右侧走廊的费用等于目前为止已支付的总金额加上一个杜卡特(ducat)。

显然,这种复杂的收费结构旨在掩盖真实成本。但这给游客带来了极大的不便,以至于希腊委员会最终强迫米达斯国王减轻这一负担。狡猾的国王同意只向游客提供以下问题的答案:从入口到达房间 $x$ 所需的最小杜卡特数量,是否也足以从入口到达房间 $y$?

输入格式

标准输入的第一行包含一个正整数 $n$,表示迷宫中的房间数量。房间编号从 $1$ 到 $n$,其中 $1$ 号房间是入口。接下来的 $n$ 行描述了迷宫;第 $i$ 行包含两个整数 $l_i, r_i$ ($0 \le l_i, r_i \le n$),由单个空格分隔。如果 $l_i > 0$,则离开 $i$ 号房间的左侧走廊通往 $l_i$ 号房间。如果 $l_i = 0$,则离开 $i$ 号房间的左侧走廊被封锁。$r_i$ 的含义类似,但它涉及离开 $i$ 号房间的右侧走廊。从 $1$ 号房间出发,可以到达任何其他房间。

下一行包含一个正整数 $z$,表示需要回答的查询数量。接下来的 $z$ 行指定了这些查询;第 $i$ 行包含两个整数 $x_i, y_i$ ($1 \le x_i, y_i \le n$),由单个空格分隔。这些查询编码了问题:“从入口到达 $x_i$ 号房间所需的最小杜卡特数量,是否也足以从入口到达 $y_i$ 号房间?”

输出格式

标准输出应包含 $z$ 行,第 $i$ 行包含一个单词:如果第 $i$ 个查询的答案为肯定,则输出 TAK(波兰语中的“是”),否则输出 NIE(波兰语中的“否”)。

样例

样例输入 1

12
3 9
0 4
2 5
0 0
6 0
7 8
0 0
0 0
10 12
11 0
0 0
0 0
6
11 8
8 6
11 7
1 2
4 10
3 3

样例输出 1

NIE
TAK
TAK
TAK
NIE
TAK

说明

下图描绘了上述样例中的迷宫:房间用圆圈标记,进入给定走廊所需的杜卡特数量写在中间的方框中。穿过迷宫的可能路线是从上到下的,尽可能选择左侧或右侧的出口走廊。例如,到达 $11$ 号房间需要 $1 + 1 + 2 = 4$ 个杜卡特;这个数量不足以到达 $8$ 号房间,后者需要 $0 + 1 + 1 + 3 = 5$ 个杜卡特(请注意,这是样例中的第一个查询)。

子任务

测试集由以下子集组成。在每个子集中,可能包含多个测试组。

子集 数据范围 分值
1 $n \le 50, z \le 10$ 15
2 $n \le 1000, z \le 10$ 9
3 $n \le 1000, z \le 1\,000\,000$ 14
4 $n \le 1\,000\,000, z \le 10$ 11
5 $n \le 1\,000\,000, z \le 1\,000\,000$ 51

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.