【51NOD-0】1118 机器人走方格

【算法】DP

#include<cstdio>
#include<algorithm>
using namespace std;
const int MOD=1000000007,maxn=1010;
int f[maxn][maxn];
int mods(int x)
{return x>MOD?x-MOD:x;}
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    f[0][1]=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            f[i][j]=mods(f[i-1][j]+f[i][j-1]);
        }
    }
    printf("%d",f[n][m]);
    return 0;
}

时间: 2024-11-09 02:44:03

【51NOD-0】1118 机器人走方格的相关文章

51nod 1118 机器人走方格 (小数据用dp)

1118 机器人走方格 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 取消关注 M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开.(2 <= m,n <= 1000) Output 输出走法的数量. Input示例 2 3 Output示例 3 设dp[i][j]表示走到第i行第j列有多少种走法.状态转移

51nod 1118 机器人走方格

基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开.(2 <= m,n <= 1000) Output 输出走法的数量. Input示例 2 3 Output示例 3 棋盘dp屠龙宝刀点击就送 #include <cstdio> int dp[1001][100

(DP)51NOD 1118 机器人走方格

M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开.(2 <= m,n <= 1000) Output 输出走法的数量. Input示例 2 3 Output示例 3解:简单dp,注意空间复杂度的优化. 1 #include <stdio.h> 2 3 #define MOD ((int)1e9+7) 4 5 int dp[1005] =

51Nod 1118 机器人走方格--求逆元

(x/y) %mod =x*(y^(mod-2))%mod; 在算x,y的时候可以一直mod 来缩小 y^(mod-2)显然是个快速幂 #include <iostream> #include <stdio.h> #include <math.h> using namespace std; long long mod=1e+9+7; long long quick(long long n,long long m) { long long ans=1; while(m)

51_1118 机器人走方格(组合+乘法逆元)

这道题要注意的是: 当单纯的用组合累乘的话 1000!即使long long也会溢出 , 所以只能乘一下, mod一下, 但是这样分子分母算出来后, 分子/分母 肯定就已经不是答案(因为 分子%mod / 分母%mod != ans%mod ), 此时, 就要用到乘法逆元. ax ≡ 1(mod m) , 则 t1 * x * t2 mod m = t1 -> t1 / t2 = t1* x mod m (将除法转换成乘法, 保证 t1/t2 的结果为 ans%mod ) 1118 机器人走方格

机器人走方格 V3

1120 . 机器人走方格 V3 基准时间限制:1 秒 空间限制:65536 KB 分值: 160 N * N的方格,从左上到右下画一条线.一个机器人从左上走到右下,只能向右或向下走.并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10007的结果. Input输入一个数N(2 <= N <= 10^9). Output输出走法的数量 Mod 10007. Input 示例4 Output 示例10思路:实际是本质就是,n个0,n个

51nod 1119 机器人走方格 V2 (组合数学+逆元)

1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 取消关注 M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果. Input 第1行,2个数M,N,中间用空格隔开.(2 <= m,n <= 1000000) Output 输出走法的数量 Mod 10^9 + 7. Input示例 2 3 Output示例 3 分析:因为只能向

1122 机器人走方格 V4

1122 机器人走方格 V4 基准时间限制:1 秒 空间限制:131072 KB 四个机器人a b c d,在2 * 2的方格里,一开始四个机器人分别站在4个格子上,每一步机器人可以往临近的一个格子移动或留在原地(同一个格子可以有多个机器人停留),经过n步后有多少种不同的走法,使得每个毯子上都有1机器人停留.由于方法数量巨大,输出 Mod 10^9 + 7的结果. Input 输入1个数N(0 <= N <= 10^9) Output 输出走法的数量 Mod 10^9 + 7 Input示例

1120 机器人走方格 V3

1120 机器人走方格 V3 基准时间限制:1 秒 空间限制:131072 KB N * N的方格,从左上到右下画一条线.一个机器人从左上走到右下,只能向右或向下走.并要求只能在这条线的上面或下面走,不能穿越这条线,有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10007的结果. Input 输入一个数N(2 <= N <= 10^9). Output 输出走法的数量 Mod 10007. Input示例 4 Output示例 10 思路:这个在对角线的上方,就可以转换为,火车进