问题6924--恢复植被

6924: 恢复植被

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

大复兴

【题目描述】

长时间的干旱使农民约翰的牧场上没有草了。然而,随着雨季的临近,“恢复植被”的时机已经到来。在农民约翰的棚子里,他有两个桶,每个桶里都装着不同类型的草籽。他想在他的N个牧场中每一个都种草,每一个牧场都要选择一种类型的草。

作为一名奶农,农民约翰想确保他能管理好他的M头奶牛的特殊饮食需求。他的M头奶牛每头都有两个最喜欢的牧场。他的一些奶牛有饮食限制,只能一直吃一种草——因此,农夫约翰希望确保在这类奶牛最喜欢的两块地里种植同样类型的草。其他奶牛的饮食限制非常不同,要求它们吃不同类型的草。对于这些奶牛,农民约翰当然希望确保它们最喜欢的两块田地含有不同类型的草。

请帮助农民约翰确定他可以在N个牧场上种草的不同方法的数量。

【输入格式】(regeget .in):

第一行输入包含N(2N10^5)M(1M10^5)。接下来的M行每一行都包含一个'S''D'字符,后面跟着两个范围为1N的整数,描述农民约翰的一头奶牛最喜欢的两个牧场。如果字符是“S”,这条线代表一头牛在它最喜欢的两个牧场上需要相同类型的草。如果字符是“D”,这条线代表一头牛需要不同类型的草。

【输出格式】(regetate .out):

输出农夫约翰在他的N个牧场上种草的方法的数量。请用二进制写答案。

【样例输入】:

3 2

S 1 2

D 3 2

【样例输出】:

10

来源/分类