51Nod1122 機械人走方格 V4

2021-08-09 04:33:59 字數 812 閱讀 7584

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

1 output示例

9題解

走法方案可以由矩陣計算,最後暴力列舉每個機械人結束為止,乘法原理統計答案。

**

#include

using namespace std;

typedef long long ll;

const int mod=1000000007;

ll ans,a[5][5],ans[5][5];

int n;

void mul(ll a[5][5],ll b[5][5],ll c[5][5])

for (int i=1;i<=4;i++)

for (int j=1;j<=4;j++)

c[i][j]=tmp[i][j];

} int main()

for (int p1=1;p1<=4;p1++)

for (int p2=1;p2<=4;p2++)

for (int p3=1;p3<=4;p3++)

for (int p4=1;p4<=4;p4++)

cout}

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...

51nod 1118 機械人走方格

m n的方格,乙個機械人從左上走到右下,只能向右或向下走。有多少種不同的走法?由於方法數量可能很大,只需要輸出mod 10 9 7的結果。第1行,2個數m,n,中間用空格隔開。2 m,n 1000 輸出走法的數量。2 3第一次看到覺得用搜尋寫,沒寫出來,但是還是覺得搜素可以實現的 下面用的是dp,等...

51nod 1118 機械人走方格

基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 m n的方格,乙個機械人從左上走到右下,只能向右或向下走。有多少種不同的走法?由於方法數量可能很大,只需要輸出mod 10 9 7的結果。input 第1行,2個數m,n,中間用空格隔開。2 m,n 1000 output ...