#4151. 灯的排列问题

    ID: 4151 传统题 1000ms 125MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>NOIP全国联赛普及组1995年NOIP全国联赛普及组组合数学模拟排列组合贪心

灯的排列问题

灯的排列问题

题目描述

设在一排上有N个格子(N20),若在格子中放置有不同颜色的灯,每种灯的个数记为N1N2,……Nkk表示不同颜色灯的个数)。

   放灯时要遵守下列规则:

同一种颜色的灯不能分开;

不同颜色的灯之间至少要有一个空位置。

   例如:N=8(格子数)

         R=2(红灯数)

         B=3(蓝灯数)

   放置的方法有:

       R-B顺序

R

R

 

B

B

B

 

 

R

R

 

 

B

B

B

 

R

R

 

 

 

B

B

B

 

R

R

 

B

B

B

 

 

R

R

 

 

B

B

B

 

 

R

R

 

B

B

B

   

       B-R顺序

B

B

B

 

R

R

 

 

B

B

B

 

 

R

R

 

B

B

B

 

 

 

R

R

 

B

B

B

 

R

R

 

 

B

B

B

 

 

R

R

 

 

B

B

B

 

R

R

    放置的总数为12种。

    程序要求:求排列总数。

输入说明

数据输入的方式为:

N

P1(颜色,为一个字母) N1(灯的数量)

P2 N2

……

Q(结束标记,Q本身不是灯的颜色)

 颜色和灯的数量之间由一个空格分隔。

输出说明

输出排列总数。

样例

输入

8
R 2
B 3
Q

输出

12