nefu20

最简单的递推不解释!!!呵呵!!

#include<iostream>
#include<algorithm>
using namespace std;
int n,f[20][20];
int CrossRoad(int L,int W)
{   if(f[L][W]!=-1)
    return f[L][W];
 int result;
 if(L==0||W==0)
     result=1;
   else
   result=CrossRoad(L-1,W)+CrossRoad(L,W-1);
     f[L][W]=result;
  return f[L][W];


}

int main()
{
 
 while(cin>>n&&n)
 {
    memset(f,-1,sizeof(f));
  int count=CrossRoad(n,n);
 cout<<count<<endl;
 }
 return 0;
}

原文地址:https://www.cnblogs.com/xiohao/p/2772237.html