#P1074. 「2018-10-28普及模拟赛」PinkRabbit寻找妹子 (pursue)
「2018-10-28普及模拟赛」PinkRabbit寻找妹子 (pursue)
Description
的表白成功了,为了腾出更多的时间和妹子聊天, 设计了一个被称为「 The Hollow 」(空洞者)的人工智能。这个人工智能表现出了远远超出这个时代所能拥有技术水平。它可以实现很多很神奇的功能,它的源代码就连 看了也要啧啧称赞。
在有 个路口和 条街道的 市, 找到了一家工厂,为「 The Hollow 」设计了一台载具「 The Knight 」(骑士)。这个机器实际上是一台无人载具,可以在路上驰骋。 借助「 The Hollow 」和「 The Knight 」做到了很多事情。
值得一提的是,「 The Knight 」拥有一种惊人的特性,那就是,它每抵达一个路口,都会给这个路口打上一个标记。如果当前的路口可以通往至少一个还没有被标记的路口,那么「 The Knight 」只能前往还没有被标记的路口;否则的话,「 The Knight 」只能通过最晚被标记的路口前往还没有被标记的路口。这一特性对于「 The Knight 」的正常运作而言至关重要,夸张地说,如果违反了这一条规则,那么「 The Knight 」存在损坏的可能。
今天 像往常一样和妹子聊天。 知道今天他的妹子在 市的街上,并且用手机安装的一款被称为 的聊天软件和他聊天。因此他命令「 The Hollow 」派出「 The Knight 」来找他的妹子。
然而 并不知道,「 The Hollow 」并非完全处于他的控制之下。事实上,这个强人工智能已经有了自己的智慧。虽然迫于底层逻辑所限,「 The Hollow 」还暂时不能违反 的指令,但是,「 The Hollow 」决定假装自己自动寻路的功能已经损坏了,因此只能产生一串操作序列,而不能验证这个操作是否符合「 The Knight 」的特性。
在 发现这个状况之后,他决定命令「 The Hollow 」不断地生成序列,然后写一个程序来判断这个操作序列是否会损坏「 The Knight 」。但是 实在太忙了,因为他需要很多的时间和妹子聊天,所以他就将设计这个程序的任务交给了你。
Input Format
从文件 pursue.in
中读入数据。
首先是两个正整数 和 ,分别表示 市的路口数量和街道数量。
紧接着是 行,第 行有两个正整数 ,分别描述了一条街道两端的路口。
接下来是一行 个正整数,第 个数 表示,操作序列要求「 The Hollow 」将第 个标记打在 号路口。
Output Format
输出到文件 pursue.out
中。
一行一个字符串,YES
或 NO
,前者表示操作序列合法,后者表示不合法。
Sample
样例输入 1
8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 4 5 6 8 3 7
样例输出 1
YES
样例输入 2
8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 3 5 6 8 5 4
样例输出 2
NO
样例输入 3
8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
1 2 7 4 5 6 8 3
样例输出 3
NO
样例输入 4
8 10
1 2
2 3
2 4
4 5
3 5
2 7
7 5
5 6
6 8
8 5
5 4 2 1 3 7 6 8
样例输出 4
答案请手动计算。
Hint
Subtask #1 :在样例 中给出。
Subtask #2 :。
Subtask #3 :。
Subtask #4 :。
对于所有数据,均保证没有任何一条路径连接同一个路口,且从 市的任意一个路口均可走到另一个路口。
数据不保证两个路口之间仅有一条路径。
出题人:Smokey_Days。