Description

Input

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

Output

仅一行,是一个既约分数(0写成0/1),为小球落在编号为m的格子中的概pm。既约分数的定义:A/B是既约分数,当且仅当A、B为正整数且A和B没有大于1的公因子。

Sample Input

5 2

Sample Output

7/16
 

Solution

设f[i][j]代表小球落到位置为(i,j)的概率,分数求解即可

#include <stdio.h>
#define L long long
#define RG register inline void Rin(RG int &x) {
x=;RG int c=getchar(),f=;
for(;c<||c>;c=getchar())
if(!(c^))f=-;
for(;c>&&c<;c=getchar())
x=(x<<)+(x<<)+c-;
x*=f; } inline void ploy(RG bool &x) {
RG char c=getchar();
while(c!='*'&&c!='.')c=getchar();
x=c=='*'?true:false; } void Shiki(RG L x) {
if(!x)return;
Shiki(x/);
putchar(x%+); } L gcd(RG L a,RG L b) {
return b?gcd(b,a%b):a; } bool _map[][]; int n,m; struct fr{
L n,d; fr(RG L _=,RG L __=) : n(_),d(__) {} }f[][]; inline void rec(fr &_this) {
L t=gcd(_this.n,_this.d);
_this.n/=t;
_this.d/=t; } fr operator + (const fr &a,const fr &b) {
fr res;
L t=gcd(a.d,b.d);
res.n=b.d/t*a.n+a.d/t*b.n;
res.d=a.d/t*b.d;
return res; } fr operator * (const fr &a,const fr &b) {
fr res(a.n*b.n,a.d*b.d);
rec(res);
return res; } void operator += (fr &a,const fr &b) {
a=a+b; } int main() {
Rin(n),Rin(m);
for(RG int i=; i<=n; i++)
for(RG int j=; j<=i; j++)
ploy(_map[i][j]);
f[][]=fr(,);
for(RG int i=; i<=n; i++)
for(RG int j=; j<=i; j++)
rec(f[i][j]),
_map[i][j]?
f[i+][j]+=f[i][j]*fr(,),f[i+][j+]+=f[i][j]*fr(,):
f[i+][j+]+=f[i][j];
rec(f[n+][m+]);
Shiki(f[n+][m+].n); putchar('/'); Shiki(f[n+][m+].d);
return ;
}

最新文章

  1. win10与ubuntu下演示运行.net core rc2 1.0.0.3002702程序
  2. java获取到机器IP地址及MAC码
  3. 浅析MySQL中exists与in的使用
  4. kali4.0 下tftpd-hpa服务无法启动的解决方案
  5. ulua 路径小记 以及 lua require 机制整理
  6. 献给所有从事IT行业拥有梦想的英语渣们
  7. Linq_Lambda GroupBy使用笔记
  8. Python成长笔记 - 基础篇 (四)函数
  9. 解密TDE加密数据库
  10. mybatis系列-09-订单商品数据模型
  11. ZooKeeper(3.4.5) - 使用 Curator(2.7.0) 监听事件
  12. Fedora 17 修改GRUB启动菜单顺序
  13. 日期的本质是double
  14. POJ 1258 Agri-Net(Prim)
  15. FreeRTOS——任务管理
  16. Hibernate在PostgreSQL上执行sum函数导致数据失真的问题
  17. Xamarin-Android_BaseAdapter 简单的复用
  18. 基于jQuery垂直多级导航菜单代码
  19. Entity Framework(EF的Database First方法)
  20. 04-树4. Root of AVL Tree (25)

热门文章

  1. Java集合类解析 ***
  2. Feature分支(转载)
  3. Rails5&#160;任务注释
  4. 清北考前刷题da5下午好
  5. [App Store Connect帮助]六、测试 Beta 版本(3.2)管理测试员:邀请外部测试员
  6. Eclipse/STS 在线安装阿里java代码规约插件
  7. JAXB解析xml 的注解说明
  8. 微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
  9. es6之数据结构 set,WeakSet,mapWeakMap
  10. delphi 字符串处理中的怪异现象与处理