#agc005e. [agc005_e]Sugigma: The Showdown
[agc005_e]Sugigma: The Showdown
问题描述
Sigma和Sugim正在玩一个游戏。
游戏在一个有个顶点的图上进行,顶点编号为到。该图有条红色边和条蓝色边,每种颜色的边数为,并且每种颜色的边构成一棵树。红色边由整数对表示,蓝色边由整数对表示。
每个玩家都有自己的棋子。最初,Sigma的棋子位于顶点,Sugim的棋子位于顶点。
游戏按照回合进行,回合从第回合开始编号。Sigma进行回合,Sugim进行回合。
在每个回合中,当前玩家要么移动他的棋子,要么不做任何操作。在这里,Sigma只能将他的棋子移动到与当前顶点直接相连的顶点上,通过一条红色边。同样地,Sugim只能将他的棋子移动到与当前顶点直接相连的顶点上,通过一条蓝色边。
当两个棋子来到同一个顶点时,游戏立即结束。如果游戏在第回合的操作之后结束,则是游戏中的总回合数。
Sigma的目标是使总回合数尽可能地大,而Sugim的目标是使总回合数尽可能地小。
假设两位玩家都以最优方式实现各自的目标,确定游戏是否会在有限的回合内结束。如果答案是肯定的,请找出游戏中的回合数。
约束条件
- 每种颜色(红色和蓝色)的条边构成一棵树。
输入
输入以以下格式从标准输入中给出:
输出
如果游戏将在有限次回合内结束,请输出回合数。否则,请输出-1
。
样例输入 1
4 1 2
1 2
1 3
1 4
2 1
2 3
1 4
样例输出 1
4
样例输入 2
3 3 1
1 2
2 3
1 2
2 3
样例输出 2
4
样例输入 3
4 1 2
1 2
3 4
2 4
1 2
3 4
1 3
样例输出 3
2
样例输入 4
4 2 1
1 2
3 4
2 4
1 2
3 4
1 3
样例输出 4
-1
样例输入 5
5 1 2
1 2
1 3
1 4
4 5
2 1
1 3
1 5
5 4
样例输出 5
6