#800. 蜗牛老师排课T3

蜗牛老师排课T3

No submission language available for this problem.

T5 蜗牛老师的排课 assign.cpp

题目描述

蜗牛老师在排课的时候,想到一个模型,于是这道题就产生了:现在有NN个人,分别是:1,2或者31,2或者3班的。

现在给你kk条两个人之间关系的信息,信息有两类:

  • 第x个人和第y个人是一个班,
  • 第x个人和第y个人不是一个班的。

现在小x要根据这K条信息,来判断这N个人属于哪个班级的所有可能方案总数。

输入格式 assign.in

第一行:两个整数NkN和k

接下来K行,每行一个字符chch+两个整数xxyy

如果格式是"S x y",表明第x和人和第y个人是一个班的。

如果格式是"D x y",那么这两个人不是一个班的。

输出格式 assing.out

一个整数,表示N个人属于哪个班级的所有可能方案总数

样例数据

input

4 2
S 1 2
D 1 3

output

18

有4个人,1号和2号1个班,1号和3号不一个班。

那么前3个人有6种情况:1 1 2,1 1 3, 2 2 1,2 2 3, 3 3 1, 3 3 2

第4个人和前3个人没有关系,第4个人有3种可能,所以一共有18种不同方案。

数据规模与约定

30%数据保证 2N,k5 2 \leq N,k \leq 5

100% 数据保证 2N15,2k50 2 \leq N \leq 15 ,2 \leq k \leq 50 $

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}

Background

Special for beginners, ^_^

Description

Given two integers x and y, print the sum.

Format

Input

Two integers x and y, satisfying 0x,y327670\leq x,y\leq 32767 .

Output

One integer, the sum of x and y.

Samples

123 500
623

Limitation

1s, 1024KiB for each test case.