#bINGCHAJIlydlt40x4105. 奇偶游戏 Parity Game
奇偶游戏 Parity Game
题目描述
小 A 和小 B 在玩一个游戏。
首先,小 A 写了一个由 和 组成的序列 ,长度为 。
然后,小 B 向小 A 提出了 个问题。
在每个问题中,小 B 指定两个数 和 ,小 A 回答 中有奇数个 还是偶数个 。
机智的小 B 发现小 A 有可能在撒谎。
例如,小 A 曾经回答过 中有奇数个 , 中有偶数个 ,现在又回答 中有偶数个 ,显然这是自相矛盾的。
请你帮助小 B 检查这 个答案,并指出在至少多少个回答之后可以确定小 A 一定在撒谎。
即求出一个最小的 ,使得 序列 满足第 个回答,但不满足第 个回答。
输入格式
第一行包含一个整数 ,表示 序列长度。
第二行包含一个整数 ,表示问题数量。
接下来 行,每行包含一组问答:两个整数 和 ,以及回答 even 或 odd,用以描述 中有偶数个 还是奇数个 。
输出格式
输出一个整数 ,表示 序列满足第 个回答,但不满足第 个回答,如果 序列满足所有回答,则输出问题总数量 。
样例
输入样例:
10
5
1 2 even
3 4 odd
5 6 even
1 6 even
7 10 odd
输出样例:
3
样例解释
回答:
- 有偶数个
- 有奇数个
- 有偶数个
- 有偶数个
- 有奇数个
前三个回答可以同时成立,但加入第四个回答时会发生矛盾:
- 前两个回答: 偶数, 奇数 → 奇数
- 第三个回答: 偶数 → 奇数
- 但第四个回答要求 偶数,矛盾。
所以最小的 ,即前 个回答可以成立,第 个回答导致矛盾。
数据范围
时空限制
- 时间限制:1 秒
- 空间限制:64 MB
所有题目已整理完毕。