题目描述
大复兴
【题目描述】
长时间的干旱使农民约翰的牧场上没有草了。然而,随着雨季的临近,“恢复植被”的时机已经到来。在农民约翰的棚子里,他有两个桶,每个桶里都装着不同类型的草籽。他想在他的N个牧场中每一个都种草,每一个牧场都要选择一种类型的草。
作为一名奶农,农民约翰想确保他能管理好他的M头奶牛的特殊饮食需求。他的M头奶牛每头都有两个最喜欢的牧场。他的一些奶牛有饮食限制,只能一直吃一种草——因此,农夫约翰希望确保在这类奶牛最喜欢的两块地里种植同样类型的草。其他奶牛的饮食限制非常不同,要求它们吃不同类型的草。对于这些奶牛,农民约翰当然希望确保它们最喜欢的两块田地含有不同类型的草。
请帮助农民约翰确定他可以在N个牧场上种草的不同方法的数量。
【输入格式】(regeget .in):
第一行输入包含N(2≤N≤10^5)和M(1≤M≤10^5)。接下来的M行每一行都包含一个'S'或'D'字符,后面跟着两个范围为1…N的整数,描述农民约翰的一头奶牛最喜欢的两个牧场。如果字符是“S”,这条线代表一头牛在它最喜欢的两个牧场上需要相同类型的草。如果字符是“D”,这条线代表一头牛需要不同类型的草。
【输出格式】(regetate .out):
输出农夫约翰在他的N个牧场上种草的方法的数量。请用二进制写答案。
【样例输入】:
3 2
S 1 2
D 3 2
【样例输出】:
10