日程表安排

来源:互联网 发布:js控制图片旋转角度 编辑:程序博客网 时间:2024/04/28 05:31
【题目描述】

有四个队伍参加ACM的暑期培训,时间为n天。四个队伍的名字分别标为队伍A、B、C、D,每天有一支队伍负责出题。作为培训班的老师,你可以决定每天由哪支队伍出题。但是有一些事项要注意:

1.没有队伍能够连续两天出题;

2.在培训的其中m天中,负责出题的队伍事先已经确定(例如:A队负责出第1天的题,B队负责出第6天的题,这两天的出题队伍就不能再被改变);

询问一共有多少种安排方案并输出结果(结果要对1000000007求余)。

【输入描述】

第一行两个整数n、m (1 ≤ n ≤ 10000000,0 ≤ m ≤ 10),n表示暑期培训的天数,m表示已经安排好的天数。接下来的m行表示对应天负责出题的队伍。

【输出描述】

所有的方案数(结果要对1000000007求余)。

【样例输入】

样例1:

3 2

1 A

3 C

 

样例2:

2 1

1 D

【样例输出】

样例1:

2

 

样例2:

3

【数据范围及提示】

样例1:

ABC、ADC

 

样例2:

DA、DB、DC

0 0
原创粉丝点击