其他分享
首页 > 其他分享> > 例6:过河卒

例6:过河卒

作者:互联网

对平面上某一点V,设它的坐标为(x, y),从A走到V点的路径的条数为f(x,y),则根据题 意只能从上或者从左边走到点,因此有 f(x,y) = f(x-1,y) + f(x, y-1)

再注意边界条件,在第一行和第一列上有: f(0,y)=1和f(x,0)=1 ,边上只有一种情况。

这样,我们能递推出到B点时的总路径数。 这道题可以看成是二维Fibonacci数列。

注意:当行、列数大一点时,就很容易超过long long的范围

 

 

#include<bits/stdc++.h>
using namespace std;
int main(){
     int f[31][31]={};
     int m,n,x,y,a[30][30]={0};
     cin>>m>>n;
     for(x=0;x<=m;x++){
         for(y=0;y<=n;y++){
             if(x==0||y==0){
               a[x][y]=1;
            }else{
                a[x][y]=a[x-1][y]+a[x][y-1];
            }
         }
     }
     for(x=0;x<=m;x++){
         for(y=0;y<=n;y++){
             cout<<a[x][y]<<" ";
         }
         cout<<endl;
     }
     cout<<a[m][n];
     return 0;
}

 

标签:走到,路径,过河,int,31,30,long
来源: https://www.cnblogs.com/xxsy387/p/16435948.html