问题 5791 --狼人游戏(二)

5791: 狼人游戏(二)

题目描述

有 $n$ 名玩家在玩狼人游戏,有一些玩家的身份是狼人。其余玩家的身份是预言家。游戏的进程中,陆续出现了 $m$ 句发言,每句发言来自于某个玩家,发言的信息是声称另一个玩家的身份是狼人或者是预言家。 小爱猜想,狼人的发言应该永远与事实相反,而预言家的发言应该永远与事实相同。她想检查一下,她的猜想是否会与发言记录产生矛盾,如果出现矛盾,请求出她的猜想与哪一条发言最先出现矛盾。

输入

第一行:两个整数 $n$ 与 $m$ 第二行到 $m+1$ 行:第 $i+1$ 行有两个整数:$s_i$ 和 $o_i$,接下来有一个字符: – 如果是 `T`,表示 $s_i$ 宣称 $o_i$ 是预言家; – 如果是 `F`,表示 $s_i$ 宣称 $o_i$ 是狼人;

输出

如果没有矛盾,输出 `Passed`,否则输出第一次出现矛盾的位置。

样例输入输出

输入#1 复制
4 3
1 2 T
3 4 F
2 1 F
输出#1 复制
3
输入#2 复制
4 4
1 2 F
2 3 T
3 4 T
2 1 F
输出#2 复制
Passed

提示

+ 对于 $30\%$ 的数据,$1\leq n, m\leq 20$; + 对于 $60\%$ 的数据,$1\leq n,m\leq 300$; + 对于 $100\%$ 的数据,$1\leq n, m\leq 500,000$; 样例1说明:第三句话与第一句产生了矛盾 样例2说明:1是狼人,其余都是预言家,就不会有矛盾
序号 标题 作者 发表时间 费用 订购数 操作