vjudge A - 机器人走方格

原题:https://vjudge.net/problem/51Nod-1118

#include<bits/stdc++.h>
using namespace std;
int c[2005][2005];
int main(){
    int n,m,b;
    cin>>m>>n;
    for (int i = 0; i <=2000; ++i) {
        c[i][0]=1;    //C 0 i=1     从i个东西里选0个或选i个的情况只有一种  
        for(int j=1;j<=i;j++){      
            c[i][j]=(c[i-1][j-1]+c[i-1][j])%1000000007;
        }
    }
    cout<<c[n+m-2][n-1];   //因为是从0开始,所以每个都要减一 
    return 0;
}

 

扫描二维码关注公众号,回复: 7432363 查看本文章
#include<cstdio>
#include<algorithm>
using namespace std;
int f[1001][1001];
int main() {
    int n,m;
    for(int i=1; i<1001; ++i) {
        f[1][i]=1;
        f[i][1]=1;
    }
    while(~scanf("%d %d",&m,&n)) {
        for(int i=2; i<=m; i++) {
            for(int j=2; j<=n; j++) {
                f[i][j]=f[i-1][j]+f[i][j-1];    //动态规划 ,感觉理解一点,但学长说难的动态规划会让我怀疑人生。。。
                f[i][j]%=1000000007;
            }
        }
        printf("%d\n",f[m][n]);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/QingyuYYYYY/p/11628122.html
今日推荐