logo AlgoBeat OnlineJudge
登录 注册

#214506. [JOISC 2017] 幽深府邸 / Long Mansion

内存限制:256 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

JOI 君家附近有一座宽敞的豪宅。豪宅中有 个房间,自东向西排成一列。从最东边的房间起,第 个房间被称为房间 。对于每个满足 ,房间 与房间 之间由一条走廊相连。走廊可双向通行。从房间进入走廊需要一把钥匙。每把钥匙都有一个称为“类型”的编号,多个钥匙可以具有相同的类型。

从房间 或房间 进入它们之间的走廊,需要一把类型为 的钥匙。

房间 中有 把钥匙,其类型为 )。若 JOI 君进入某个房间,他会拾取该房间内的所有钥匙,之后可随时使用这些钥匙进入走廊。

JOI 君可无限次使用钥匙。有时,他会获得多个相同类型的钥匙,但与仅拥有一个该类型钥匙的情况相比,他并无特殊优势。

为应对在豪宅中迷路的情况,JOI 君计划编写一个程序,用于回答以下查询:

  • 若 JOI 君在未携带任何钥匙的情况下进入房间 ,他能否移动到房间

你的任务是编写一个程序,代替 JOI 君回答上述查询。

任务

给定豪宅的信息与查询,编写一个程序,对于每个查询,判断在假设 JOI 君当前未携带任何钥匙的情况下,他是否能从一个房间移动到另一个房间。

输入格式

从标准输入读取以下数据:

  • 第一行包含一个整数 ,表示豪宅中房间的数量。
  • 第二行包含 个以空格分隔的整数 。这表示进入连接房间 与房间 的走廊,需要一把类型为 的钥匙。
  • 接下来的 行中,第 行()包含一个正整数 ,以及 个以空格分隔的整数 。这表示房间 中有 把钥匙,其类型分别为 )。
  • 下一行包含一个整数 ,表示查询的数量。
  • 接下来的 行中,第 行()包含两个以空格分隔的整数 。这表示第 个查询询问:假设 JOI 君当前未携带任何钥匙,他是否能从房间 移动到房间

输出格式

向标准输出写入 行。第 行()若在假设 JOI 君当前未携带任何钥匙的情况下,他能从房间 移动到房间 ,则输出 YES;否则输出 NO。

样例

样例输入 1

5
1 2 3 4
2 2 3
1 1
1 1
1 3
1 4
4
2 4
4 2
1 5
5 3

样例输出 1

YES
NO
NO
YES

样例输入 2

5
2 3 1 3
1 3
1 2
1 1
1 3
1 2
4
1 3
3 1
4 3
2 5

样例输出 2

NO
YES
NO
YES

样例输入 3

7
6 3 4 1 2 5
1 1
1 5
1 1
1 1
2 2 3
1 4
1 6
3
4 1
5 3
4 7

样例输出 3

YES
NO
YES

数据范围与提示

样例 1 解释

  • 在第一个查询中,若 JOI 君按房间 2、1、2、3、4 的顺序访问,他可以到达房间 4。
  • 在第二个查询中,他只能访问房间 3 和 4。由于他仅能获得类型为 1 和 3 的钥匙,因此无法到达房间 2。
  • 在第三个查询中,他无法从房间 5 获得类型为 4 的钥匙以进入房间 4,因此他无法到达房间 5。
  • 在第四个查询中,若他按房间 5、4、3 的顺序访问,他可以到达房间 3。

数据范围

所有输入数据满足以下条件:

  • )。
  • )。
  • )。
  • 对于每个 ), 个整数 互不相同。
  • )。
  • )。
  • )。

子任务

本题共有 4 个子任务。每个子任务的得分与额外约束如下:

子任务 1 [5 分]

子任务 2 [5 分]

子任务 3 [15 分]

  • )。
  • )。

子任务 4 [75 分]

无额外约束。

翻译由 Qwen3-235B 完成