1122 機械人走方格 V4

2021-07-15 02:18:58 字數 960 閱讀 7534

1122 機械人走方格 v4

基準時間限制:1 秒 空間限制:131072 kb 分值: 160 難度:6級演算法題

四個機械人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示例

output示例

9 這題標題給的組合數學,但是我這題不會用盧卡斯寫了,萬能的盧卡斯到這gg了。

我寫的是矩陣快速冪+全排列。

不廢話了,直接上**。

#include

#include

#include

using

namespace

std;

#define ll long long

const

int mod=1e9+7;

int x[4]=;

struct maxna,b;

ll a,b;

maxn juzhen(maxn a,maxn b)}}

return c;

}void quickm(ll n)

a.m[0][3]=a.m[1][2]=a.m[2][1]=a.m[3][0]=0;

while(n)

ll ans=0;

doans+=tmp;

ans%=mod;

}while(next_permutation(x,x+4));

printf("%lld\n",ans);

}int main()

qaq。

51Nod1122 機械人走方格 V4

四個機械人a b c d,在2 2的方格裡,一開始四個機械人分別站在4個格仔上,每一步機械人可以往臨近的乙個格仔移動或留在原地 同乙個格仔可以有多個機械人停留 經過n步後有多少種不同的走法,使得每個毯子上都有1機械人停留。由於方法數量巨大,輸出 mod 10 9 7的結果。input 輸入1個數n ...

51nod1122 機械人走方格 V4

矩陣快速冪求出每個點走n步後到某個點的方案數。然後暴力列舉即可 include include include includeusing 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...

機械人走方格

一 有乙個xxy的網格,乙個機械人只能走格點且只能向右或向下走,要從左上角走到右下角。請設計乙個演算法,計算機械人有多少種走法。給定兩個正整數int x,int y,請返回機械人的走法數目。保證x y小於等於12。思路 共需走x y步,其中有x步向又走,y步向左走,即從x y步中選出x步的種類數,即...