luogu#P5750. [NOI1999] 钉子和小球

[NOI1999] 钉子和小球

题目描述

有一个三角形木板,竖直立放,上面钉着 n(n+1)2 \frac{ n (n+1) } { 2 } 颗钉子,还有 (n+1n+1) 个格子 (当 n=5n=5 时如图 1 ) 。每颗钉子和周围的钉子的距离都等于 dd ,每个格子的宽度也都等于 dd ,且除了最左端和最右端的格子外每个格子都正对着最下面一排钉子的间隙。

让一个直径略小于 dd 的小球中心正对着最上面的钉子在板上自由滚落,小球每碰到一个钉子都可能落向左边或右边 (概率各 1/21/2 ) ,且球的中心还会正对着下一颗将要碰上的钉子。例如图2 就是小球一条可能的路径。

我们知道小球落在第 ii 个格子中的概率 pip_i = Cni2n \frac{C_n^i}{2^n} = n!2ni!(ni)! \frac{ n! }{ 2^n i! (n-i)! } ,其中 ii 为格子的编号,从左至右依次为 0,1,...,n 0 , 1 , ... , n .

现在的问题是计算拔掉某些钉子后,小球落在编号为 mm 的格子中的概率 pmp_m 。假定最下面一排钉子不会被拔掉。例如图3 是某些钉子被拔掉后小球一条可能的路径。

图1 \qquad\qquad \quad\quad 图2 \quad\qquad \qquad\quad 图3

输入格式

第1行为整数 nn2n50 2 \leq n \leq 50 )和 mm0mn 0 \leq m \leq n )。以下 nn 行依次为木板上从上至下nn行钉子的信息,每行中 ‘*’ 表示钉子还在, ‘.’ 表示钉子被拔去,注意在这 nn 行中空格符可能出现在任何位置。

输出格式

仅一行,是一个既约分数( 00 写成 0/10/1 ) ,为小球落在编号为 mm 的格子中的概率 pmp_m

既约分数的定义: A/BA/B 是既约分数,当且仅当 AABB 为正整数且 AABB 没有大于11的公因子。

5 2
    *    
   * .
  * * *
 * . * *
* * * * *

7/16