概率+DP,比较经典的题。按照递推的方式计算概率。
 #include <cstdio>
#include <cstdio>
 #include <cstring>
#include <cstring>
 int n,m,i,j,a[100][100];
int n,m,i,j,a[100][100];
 long long p[100][100][2];
long long p[100][100][2];

 inline long long gcd(long long a,long long b)
inline long long gcd(long long a,long long b)  {
{
 if (b==0) return a;
    if (b==0) return a;
 else return gcd(b,a%b);
    else return gcd(b,a%b);
 }
}

 inline void add(long long a,long long b,long long &c,long long &d)
inline void add(long long a,long long b,long long &c,long long &d)  {
{
 long long t1,t2,t3,t4;
    long long t1,t2,t3,t4;
 t1=gcd(b,d);
    t1=gcd(b,d);
 t2=b/t1*d;
    t2=b/t1*d;
 t3=d/t1*a;
    t3=d/t1*a;
 t4=b/t1*c;
    t4=b/t1*c;
 c=t3+t4;
    c=t3+t4;
 d=t2;
    d=t2;
 t1=gcd(c,d);
    t1=gcd(c,d);
 c/=t1;
    c/=t1;
 d/=t1;
    d/=t1;
 };
};

 int main ()
int main ()  {
{
 scanf("%d%d",&n,&m);
    scanf("%d%d",&n,&m);

 for (i=1;i<=n;i++) for (j=1;j<=i;j++)
    for (i=1;i<=n;i++) for (j=1;j<=i;j++)  {
{
 char s[100];
        char s[100];
 scanf("%s",s);
        scanf("%s",s);
 if (s[0]=='*') a[i][j]=1; else a[i][j]=0;
        if (s[0]=='*') a[i][j]=1; else a[i][j]=0;
 }
    }
 memset(p,0,sizeof(p));
    memset(p,0,sizeof(p));

 for (i=1;i<=n+1;i++) for (j=1;j<=i;j++)
    for (i=1;i<=n+1;i++) for (j=1;j<=i;j++)  {
{
 p[i][j][0]=0;
        p[i][j][0]=0;
 p[i][j][1]=1;
        p[i][j][1]=1;
 }
    }
 p[1][1][0]=p[1][1][1]=1;
    p[1][1][0]=p[1][1][1]=1;

 for (i=1;i<=n;i++) for (j=1;j<=i;j++)
    for (i=1;i<=n;i++) for (j=1;j<=i;j++)  {
{

 if (a[i][j]==1)
        if (a[i][j]==1)  {
{
 add(p[i][j][0],2*p[i][j][1],p[i+1][j][0],p[i+1][j][1]);
            add(p[i][j][0],2*p[i][j][1],p[i+1][j][0],p[i+1][j][1]);
 add(p[i][j][0],2*p[i][j][1],p[i+1][j+1][0],p[i+1][j+1][1]);
            add(p[i][j][0],2*p[i][j][1],p[i+1][j+1][0],p[i+1][j+1][1]);
 }
        }
 else add(p[i][j][0],p[i][j][1],p[i+2][j+1][0],p[i+2][j+1][1]);
        else add(p[i][j][0],p[i][j][1],p[i+2][j+1][0],p[i+2][j+1][1]);
 }
    }
 printf("%I64d/%I64d\n",p[n+1][m+1][0],p[n+1][m+1][1]);
    printf("%I64d/%I64d\n",p[n+1][m+1][0],p[n+1][m+1][1]);
 return 0;
    return 0;
 }
}