有乙個無限大的矩形,初始時你在左上角(即第一行第一列),每次你都可以選擇乙個右下方格仔,並瞬移過去(如從下圖中的紅色格仔能直接瞬移到藍色格仔),求到第n行第m列的格仔有幾種方案,答案對1000000007取模。
單組測試資料。output兩個整數n,m(2<=n,m<=100000)
乙個整數表示答案。input示例
4 5output示例
10這個圖就是乙個提示。我們從左上角只能調到藍色部分,也就是說第一行和第一列都是不能用的,直接忽略。
最後一排和最後一列也是不能用的,因為只能往右下角走。
所以一共可供選擇的只有n-2+m-2.也就是n+m-4個格仔.
我們可以選取的也就是n-2或者m-2個,也就是求c(n+m-4,n-2) 或者c(n+m-4,m-2).
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
typedef
setset;
typedef
vector
vec;
typedef
set::iterator it;
typedef
long
long
ll;#define mem(s,n) memset(s,n,sizeof(s))
intp =
1000000007
;ll quick_mod(ll a,ll b)
//a^b%p 快速冪
b >>=
1; a = a * a % p; }
return
ans; }ll c(ll n,ll m)
//ncm %p
return
ans;}ll lucas(ll n,ll m)
//lucas定理
intmain(
intargc,
char
*argv)
51nod1627 瞬間移動
打表可以看出來是組合數。媽呀為什麼弄成n m 4,n 1,m 3就錯啊。打表可以看出來是組合數。媽呀為什麼弄成n m 4,n 1,m 3就錯啊。include include include includeusing namespace std define rep i,s,t for int i ...
51 Nod 1627瞬間移動 插板法
1627 瞬間移動 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 有乙個無限大的矩形,初始時你在左上角 即第一行第一列 每次你都可以選擇乙個右下方格仔,並瞬移過去 如從下圖中的紅色格仔能直接瞬移到藍色格仔 求到第n行第m列的格仔有幾種方案,答案對10000000...
51nod 瞬間移動 組合數學
1627 瞬間移動 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 收藏 關注 有乙個無限大的矩形,初始時你在左上角 即第一行第一列 每次你都可以選擇乙個右下方格仔,並瞬移過去 如從下圖中的紅色格仔能直接瞬移到藍色格仔 求到第n行第m列的格仔有幾種方案,答案對10...