C语言计算Robots机器人行走路线

题目描述

在一个n×m的格子上,机器人一开始位于左下角,它每次可以沿格子线往上或者往右行走一步。另外它还有一种技能,可以在一个格子中,从左下角跳到右上角。 请问,机器人从左下角到达右上角,一共有多少种不同的方法?

输入

第一行是一个整数T(1≤T≤10000),表示样例的个数。 以后每行一个样例为两个整数n,m(1≤n,m≤100)。

输出

每行输出一个样例的结果,因为这个数量可能很大,请将结果对109+7取模。

样例输入

1 1 

2 1 

2 2

样例输出

3 5 13

这道题的思路与之前这道题思路差不多

#include<stdio.h>
#define x 1000000007
long long num[105][105]={0};
void result()
{
    int i,j;
    for(i = 0;i < 105;i++)
    {
        num[i][0] = 1;
        num[0][i] = 1;
    }
    for(i = 1;i < 105;i++)
    {
        for(j = 1;j < 105;j++)
        {
            num[i][j] = ((num[i-1][j])%x+(num[i][j-1])%x+(num[i-1][j-1])%x)%x;
        }
    }
}
int main()
{
    result();
    int t,m,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&n,&m);
        printf("%lld\n",num[n][m]);
    }
} 

以上所述是小编给大家介绍的C语言计算Robots机器人行走路线,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • C语言之初识指针

    指针是什么? 那到底什么是指针呢,其实指针和之前学习的变量基本相似,不过变量里面放的是一些值,而指针里面放的是它所指的地方的地址.在声明一个变量是,计算机就会为该变量预留一个位置,而指针所指☞的就是那个位置. 举个例子: int a = 10;//设置一个变量a的值为10 int *p = &a;//p这个指针里面就放的是a的地址 而&这个符号,就是取地址符,就像我们在使用scanf函数时  scanf("%d",&a); 这个a前面的&是一个意思,就是

  • C语言实现wave波形

    题目描述 一个n列的网格,从(0,0)网格点出发,波形存在平波(从(x,y)到(x+1,y)),上升波(从(x,y)到(x+1,y+1)),下降波(从(x,y)到(x+1,y−1))三种波形,请问从(0,0)出发,最终到达(n,0)的不同波形有多少种?如图,3列网格有7种不同的波形. 输入 第一行是样例数T(1≤T≤42). 以后每行一个整数n(1≤n≤42). 输出 每行输出一个样例的结果. 样例输入 3 1 2 3 样例输出 1 3 7 从一格到下一格有三种可能性,终点前一格到达终点格有3种

  • C语言计算Robots机器人行走路线

    题目描述 在一个n×m的格子上,机器人一开始位于左下角,它每次可以沿格子线往上或者往右行走一步.另外它还有一种技能,可以在一个格子中,从左下角跳到右上角. 请问,机器人从左下角到达右上角,一共有多少种不同的方法? 输入 第一行是一个整数T(1≤T≤10000),表示样例的个数. 以后每行一个样例为两个整数n,m(1≤n,m≤100). 输出 每行输出一个样例的结果,因为这个数量可能很大,请将结果对109+7取模. 样例输入 3  1 1  2 1  2 2 样例输出 3 5 13 这道题的思路与

  • python机器人行走步数问题的解决

    本文实例为大家分享了python机器人行走步数问题,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,机器人能够

  • Go语言计算指定年月天数的方法

    本文实例讲述了Go语言计算指定年月天数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "fmt"     "bufio"     "os"     "regexp"     "strconv" ) func main() {     year := input("year", "^[0-9]{1}[0-

  • go语言计算两个时间的时间差方法

    本文实例讲述了go语言计算两个时间的时间差方法.分享给大家供大家参考.具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前.1周前还是1月前的时间 package main import ( "fmt" "time" ) func main() { //Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub //将t0加d获取t1就是使用Add方法 k := time.Now() //一天之前 d, _ := time.ParseDu

  • Go语言计算两个经度和纬度之间距离的方法

    本文实例讲述了Go语言计算两个经度和纬度之间距离的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main        import (     "fmt"     "math" )        func main() {     lat1 := 29.490295     lng1 := 106.486654            lat2 := 29.615467     lng2 := 106.581515     f

  • C语言计算日期差的方法示例

    本文实例讲述了C语言计算日期差的方法.分享给大家供大家参考,具体如下: 历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦.幸好今天我们统一使用公元纪年法.当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的. 下面的程序计算了两个日期的差值,两个日期都使用公元纪年法. #include <bits/stdc++.h> using namespace std; int to_day(int y, int m, int d) { int mon[]

  • python实现机器人行走效果

    本文实例为大家分享了python实现机器人行走效果的具体代码,供大家参考,具体内容如下 #! /usr/bin/env python3 # -*- coding: utf-8 -*- # fileName : robot_path.py # author : zoujiameng@aliyun.com.cn # 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. # 例如,当k为18时,

  • C语言计算大数阶乘的方法

    本文实例为大家分享了C语言计算大数阶乘的具体代码,供大家参考,具体内容如下 问题描述 输入一个正整数n,输出n!的值. 其中n!=1*2*3*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推. 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位. 输入格式 输入包含一个正整数n,n<=1000. 输出格式 输出n!的准确值. 样例输入 10 样例输

  • C语言计算大数相加的方法

    本文实例为大家分享了C语言计算大数相加的具体代码,供大家参考,具体内容如下 问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推.同样可以用一个数组B来存储b. 计算c = a + b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[

  • 超详细,教你用python语言实现QQ机器人制作教程

    目录 前期准备 1.机器人框架的下载和配置 2.python的配置和安装 具体实现 1.发送信息 (1)比如发送私聊信息(QQ用接收者的): (2)发送群聊信息(群号自己用一个): (3)当然不止发送文本信息 2.获取群成员列表 3.接收上报的事件 4.实现简单的自动回复 前期准备 1.机器人框架的下载和配置 首先需要一个qq机器人框架,我使用的是基于mirai 以及 MiraiGo 开发的go-cqhttp(里面有开发文档). 框架下载地址 Windows下32位文件为 go-cqhttp-v

随机推荐