LRJ入門經典 0903切蛋糕305

2022-03-23 02:18:05 字數 998 閱讀 6409

lrj入門經典-0903切蛋糕305

難度級別:b; 執行時間限制:1000ms; 執行空間限制:256000kb; **長度限制:2000000b

試題描述

如圖所示有乙個矩形蛋糕,上面劃分成了n行m列的網格,一些網格內放著櫻桃。現在要根據如下規則切蛋糕:

1.切開的每一塊必須是矩形(包括正方形)

2.切蛋糕時必須沿著網格線,不能拐彎

3.切開的每一塊蛋糕上有且僅有乙個櫻桃

下圖是一種切割方法:

這種方法需要切割的邊數為2+4=6

以下是另一種切割方法:

這種方法需要切割的邊數為3+2=5

現在給定蛋糕的形狀和上面櫻桃的分布,要求求出切割邊數最少的方案。

輸入第一行包含三個正整數n,m和k(1<=n,m<=20),k表示櫻桃數量

以下k行每行包含兩個正整數,表示每個櫻桃所在的行和列

輸出輸出最優方案的切割邊數

輸入示例

3 4 3

1 22 3

3 2輸出示例

5第一眼看到「(1<=n,m<=20)」就想到了dfs,但普通的dfs顯而易見會超時,只能用記憶化搜尋了。

dp[i1][j1][i2][j2]代表座標為(i1,j1)的點與座標為(i2,j2)的點圍成的長方形蛋糕,將其切成蛋糕上有且僅有乙個櫻桃時的最小切割邊數。(初值為-1)

#include#include#includeusing namespace std;

int n,m,k,a[21][21],dp[21][21][21][21];

inline int check(int x1,int y1,int x2,int y2)

inline int dfs(int x1,int y1,int x2,int y2)

int main()

memset(dp,-1,sizeof(dp));

printf("%d",dfs(1,1,n,m));

}

繪畫入門經典教程 如果你想, 一切皆有可能!

繪畫入門經典 一切皆有可能!真希望我能畫畫,如果你想,一切皆有可能!本文只適合想畫畫的人,一定要真想畫畫,不要為了 如果你想考大學請去找培訓班吧。很多考生,是因為藝考的文化課的門檻相對低,把它視為上大學的一條捷徑。告誡一句 只有學習好的人才能畫好畫。世界頂尖美院,比如列賓美院,報考要本科生以上呢!在...

繪畫入門經典教程 如果你想, 一切皆有可能!

繪畫入門經典教程 如果你想,一切皆有可能!繪畫入門經典 一切皆有可能!真希望我能畫畫,如果你想,一切皆有可能!本文只適合想畫畫的人,一定要真想畫畫,不要為了 如果你想考大學請去找培訓班吧。很多考生,是因為藝考的文化課的門檻相對低,把它視為上大學的一條捷徑。告誡一句 只有學習好的人才能畫好畫。世界頂尖...

Python3入門經典100例

最近由於人工智慧和編譯原理實驗,決定要學python3。不為別的,就是因為自己語言基礎太差,現學現賣只能用python了。網上看了一圈python的例題,都只有python2的,於是自己決定把python2的例題,手寫成python3。希望通過這100道例題,自己能對python3的基礎 能力有一定...