编程题
### 问题描述 在小齐的农场里,她的奶牛们喜欢进行一种有趣的游戏。游戏的规则如下:给定一个有 $N$ 个节点和 $M$ 条边的有向图,小齐的奶牛们会进行两人对战。 游戏开始时,两个标记分别放在图中的两个不同节点上。每个回合,一个玩家(大脑)选择一个标记,并且另一个玩家(蹄子)选择标记沿着一个出边移动。两个标记不能位于同一节点上。如果在某一时刻,蹄子无法进行有效移动,大脑获胜。如果游戏无限继续下去,蹄子获胜。 现在给定 $Q$ 个查询,每个查询表示标记的起始节点。对于每个查询,请输出哪个玩家将获胜。 ### 输入格式 第一行包含两个整数 $N$ 和 $M$。 接下来的 $M$ 行,每行包含两个整数 $a$ 和 $b$,表示从节点 $a$ 到节点 $b$ 存在一条有向边。 接下来一行包含一个整数 $Q$。 接下来 $Q$ 行,每行包含两个整数 $x$ 和 $y$,表示标记的起始节点。 ### 输出格式 输出一个长度为 $Q$ 的字符串,每个字符为 $B$ 表示大脑获胜,$H$ 表示蹄子获胜。 ### 样例输入 ``` 9 10 1 2 2 3 3 4 4 7 3 5 1 6 6 8 8 9 9 6 7 2 4 1 5 1 2 1 6 2 4 ``` ### 样例输出 ``` BHHB ``` ### 评测数据规模 $2 \leq N \leq 10^5$,$1 \leq M \leq 2 \times 10^5$,$1 \leq Q \leq 10^5$。
查看答案
赣ICP备20007335号-2