编程题
### 问题描述 小齐有 $N$ 头奶牛($2 \leq N \leq 1000$),发现它们分为总是说真话和总是说谎话的两类。小齐听了 $M$ 条关于奶牛之间说谎与说真的陈述($1 \leq M \leq 10,000$)。每条陈述的形式为“$x\ y\ T$”,表示“奶牛 $x$ 声称奶牛 $y$ 总是说真话”或“$x\ y\ L$”,表示“奶牛 $x$ 声称奶牛 $y$ 总是说谎话”。每个陈述都涉及一对不同的奶牛,同一对奶牛可能在多个陈述中出现。 不幸的是,小齐认为自己可能在列表中写下了一些错误的陈述,因此可能不存在一种有效的方法来确定每头奶牛是说真话还是说谎话,使得所有 $M$ 条陈述都成立。为了帮助小齐挽救他的列表尽可能多的陈述,求解最大的 $A$,满足存在一种合理的方式,使得小齐的列表的前 $A$ 个陈述可以与奶牛被指定为“说真话”或“说谎话”的方式一致。 ### 输入格式 第 $1$ 行:两个空格分隔的整数 $N$ 和 $M$。 接下来 $M$ 行:每行形如“$x\ y\ L$”或“$x\ y\ T$”,描述奶牛 $x$ 对奶牛 $y$ 的说法。 ### 输出格式 最大的 $A$,满足前 $A$ 个陈述可以与某种奶牛说真话或说谎话的方式一致。 ### 样例输入 ``` 4 3 1 4 L 2 3 T 4 1 T ``` ### 样例输出 ``` 2 ``` ### 评测数据规模 $2 \leq N \leq 1000$,$1 \leq M \leq 10,000$,$1 \leq x, y \leq N$。
查看答案
赣ICP备20007335号-2