歷屆試題 格仔刷油漆 動態規劃)

2021-08-19 10:12:38 字數 2039 閱讀 4697

歷屆試題 格仔刷油漆  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

x國的一段古城牆的頂端可以看成 2*n個格仔組成的矩形(如下圖所示),現需要把這些格仔刷上保護漆。

你可以從任意乙個格仔刷起,刷完一格,可以移動到和它相鄰的格仔(對角相鄰也算數),但不能移動到較遠的格仔(因為油漆未乾不能踩!)

比如:a d b c e f 就是合格的刷漆順序。

c e f d a b 是另一種合適的方案。

當已知 n 時,求總的方案數。當n較大時,結果會迅速增大,請把結果對 1000000007 (十億零七) 取模。

輸入格式

輸入資料為乙個正整數(不大於1000)

輸出格式

輸出資料為乙個正整數。

樣例輸入 2

樣例輸出

24樣例輸入 3

樣例輸出

96樣例輸入

22樣例輸出

359635897

這應該是乙個很經典的動態規劃(可是還是很生疏,一看要找規律就不想找,好複雜啊,手動捂臉)

第一種情況:先找起點在四個角的,對四個角的某一點,可以往下走,可以往右走,如果是往下的話,再往右兩種情況對應著的是a[x] = a[x-1]*2,(這兒為第一種情況,畫得等號,其餘都是+=),如果先往右的話,必定要走回來,所以只能一直往右不能往下,知道走到頭,也就是a[x] += 2^(n-1)此處不能用公式,要用陣列會超陣列大小,第三種情況是z字形走,也就是先往右又往左下或者右上即a[x] += 2*a[x-2];

第二種情況:在中間,一列的兩個是一樣的,對稱的也是一樣的,然後中間的每一列都開始遍歷求解,兩種情況,往左或者往右,先去的那個方向,必須是2^( n-i ), 後去的是2×a[i-1].

#include using namespace std;

typedef long long ll;

const ll mod = 1000000007;

const int maxn = 1005;

ll a[maxn];

ll b[maxn];//不能直接使用公式,會超出範圍

int main()

memset(a, 0, sizeof(a));

b[1] = 1;

for(int i = 2; i <= n; i++)

a[1] = 1; a[2] = 6;

for(int i = 3; i <= n; i++)

ll sum = 0;

for(int i = 2; i < n; i++)

//cout << sum << endl;

sum += a[n]*4;

sum %= mod;

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

return 0;

}

歷屆試題 格仔刷油漆  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

x國的一段古城牆的頂端可以看成 2*n個格仔組成的矩形(如下圖所示),現需要把這些格仔刷上保護漆。

你可以從任意乙個格仔刷起,刷完一格,可以移動到和它相鄰的格仔(對角相鄰也算數),但不能移動到較遠的格仔(因為油漆未乾不能踩!)

比如:a d b c e f 就是合格的刷漆順序。

c e f d a b 是另一種合適的方案。

當已知 n 時,求總的方案數。當n較大時,結果會迅速增大,請把結果對 1000000007 (十億零七) 取模。

輸入格式

輸入資料為乙個正整數(不大於1000)

輸出格式

輸出資料為乙個正整數。

樣例輸入

2樣例輸出

24樣例輸入

3樣例輸出

96樣例輸入

22樣例輸出

359635897

歷屆試題 格仔刷油漆

歷屆試題 格仔刷油漆 問題描述 x國的一段古城牆的頂端可以看成 2 n個格仔組成的矩形 如下圖所示 現需要把這些格仔刷上保護漆。你可以從任意乙個格仔刷起,刷完一格,可以移動到和它相鄰的格仔 對角相鄰也算數 但不能移動到較遠的格仔 因為油漆未乾不能踩!比如 a d b c e f 就是合格的刷漆順序。...

藍橋杯 歷屆試題 格仔刷油漆

歷屆試題 格仔刷油漆 時間限制 1.0s 記憶體限制 256.0mb 問題描述 x國的一段古城牆的頂端可以看成 2 n個格仔組成的矩形 如下圖所示 現需要把這些格仔刷上保護漆。你可以從任意乙個格仔刷起,刷完一格,可以移動到和它相鄰的格仔 對角相鄰也算數 但不能移動到較遠的格仔 因為油漆未乾不能踩!比...

格仔刷油漆(動態規劃(遞推))

x國的一段古城牆的頂端可以看成 2 n個格仔組成的矩形 如圖所示 現需要把這些格仔刷上保護漆。你可以從任意乙個格仔刷起,刷完一格,可以移動到和它相鄰的格仔 對角相鄰也算數 但不能移動到較遠的格仔 因為油漆未乾不能踩!比如 a d b c e f 就是合格的刷漆順序。c e f d a b 是另一種合...