当前位置 : 主页 > 网页制作 > HTTP/TCP >

vjudge A - 机器人走方格

来源:互联网 收集:自由互联 发布时间:2021-06-16
原题:https://vjudge.net/problem/51Nod-1118 #includebits/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个的

原题: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;
}

 

 

 

 

 

 

 

 

 

 

 

 

#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;
}
网友评论