杭电1267 递推 公式不理解,大神给的公式

来源:互联网 发布:json生成java实体类 编辑:程序博客网 时间:2024/05/21 14:40

假定一个字符串由m个H和n个D组成,从左到右扫描该串,如果字符H的累计数总是不小于字符D的累计数,那么,满足条件的字符串总数是多少;

大神给的公式,不理解

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,m,n;
    __int64 a[21][21];
    memset(a,0,sizeof(a));
    for(i=0;i<21;i++)
        a[i][0]=1;
     while(scanf("%d%d",&m,&n)!=EOF)
     {
       for(i=1;i<=m;i++)
       { for(j=1;j<=n;j++)         //i,j都是从一开始的,不是从0;
          {
          if(i<j) break;
          else a[i][j]=a[i][j-1]+a[i-1][j];         //公式
          } 
       }
       printf("%I64d\n",a[m][n]);                         
     }
     return 0;
}

0 0