博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod1627 瞬间移动
阅读量:5081 次
发布时间:2019-06-12

本文共 1133 字,大约阅读时间需要 3 分钟。

打表可以看出来是组合数。。。妈呀为什么弄成n+m-4,n-1,m-3就错啊。。。 

//打表可以看出来是组合数。。。妈呀为什么弄成n+m-4,n-1,m-3就错啊。。。  #include
#include
#include
#include
using namespace std;#define rep(i,s,t) for(int i=s;i<=t;i++)#define dwn(i,s,t) for(int i=s;i>=t;i--)#define clr(x,c) memset(x,c,sizeof(x))#define ll long longint read(){ int x=0;char c=getchar(); while(!isdigit(c)) c=getchar(); while(isdigit(c)) x=x*10+c-'0',c=getchar(); return x;}const ll mod=1e9+7;ll pow(ll x,int n){ ll ans=x;--n; while(n){ if(n&1) ans=ans*x%mod; x=x*x%mod;n>>=1; } return ans;}ll a[200005];int main(){ int n=read(),m=read(); if(m==2||n==2){ printf("1\n");return 0; } --n;--m; if(n>m) swap(n,m); a[0]=1; rep(i,1,n+m) a[i]=a[i-1]*i%mod; printf("%lld\n",a[n+m-2]*pow(a[n-1],mod-2)%mod*pow(a[m-1],mod-2)%mod); return 0;}

  

基准时间限制:1 秒 空间限制:131072 KB 分值: 80 
 收藏
 关注

有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第n行第m列的格子有几种方案,答案对1000000007取模。

Input
单组测试数据。两个整数n,m(2<=n,m<=100000)
Output
一个整数表示答案。
Input示例
4 5
Output示例
10

转载于:https://www.cnblogs.com/fighting-to-the-end/p/5862682.html

你可能感兴趣的文章
LeetCode - 121. Best time to buy and sell stock
查看>>
JUnit单元测试教程(翻译自Java Code Geeks)
查看>>
Nginx 安装 (mac os) 错误 ld: symbol(s) not found for architecture x86_64
查看>>
leetcode[166]Fraction to Recurring Decimal
查看>>
Vue 路由系统和钩子函数
查看>>
HTTP请求
查看>>
Android Protobuf应用及原理
查看>>
Intellij IDEA 配置Tomcat远程调试
查看>>
android学习笔记1
查看>>
C语言中的负数是如何表示的?
查看>>
SpringMVC+Maven+tomcat配置----2.tomcat的配置
查看>>
导数和微积分(蒯)
查看>>
逆FizzBuzz问题求最短序列
查看>>
BZOJ4237 稻草人
查看>>
vue-all
查看>>
使用cros实现跨域请求
查看>>
C#: 引用变量与数值变量
查看>>
网络进程
查看>>
java学习笔记27(File类)
查看>>
vs2010静态编译qt5.1.0
查看>>