題目描述:
洋洋和15個朋友來玩打土豪分田地的遊戲,洋洋決定讓你來分田地,地主的田地可以看成是乙個矩形,每個位置有乙個價值,分割田地的方法是橫豎各切三刀,分成16份,作為領導幹部,洋洋總是會選擇其中價值最小的乙份田地,作為洋洋最好的朋友,你希望洋洋取得的田地價值和盡可能大,你知道這個值最大可以是多少嗎?
輸入描述:
每個輸入包含1個測試用例。每個測試用例的第一行包含兩個整數n和m(1 <=n, m <= 75),表示田地的大小,接下來的n行,每行包含m個0-9之間的數字,表示每塊位置的價值。
輸出描述:
輸出一行表示洋洋所取得的最大的價值。
輸入例子:
4 4輸出例子:
分析:是考察組合
**:
結果如下:#include #include #include #include #include #include using namespace std;
bool compare(const char &lhs, const char& rhs)
bool combination(string &wk)
else
return false;
}
int main(int argc, char** argv)
{ int n, m;
while(cin >> n >> m)
{ vector< vector> a(n, vector(m, 0));
vector< vector> ia(n+1, vector(m+1,0)); // the integral image
for(int i=0; i
後記:這樣輸入進來的是轉換成了ascii碼,相當於輸入進來的是字元型:
第一種情況:
輸出:其中51是3的ascii碼,
第二種情況:
輸出:竟然也能把換行輸出來了,且ia中儲存的就是想要的數。
第三種情況,改為int儲存,也沒有啥問題
輸出:
參考:組合演算法(c++ 實現)
heap corruption detected錯誤解決方法除錯方法以及記憶體管理相關
牛客網 分田地
每個輸入包含 1 個測試用例。每個測試用例的第一行包含兩個整數 n 和 m 1 n,m 75 表示田地的大小,接下來的 n 行,每行包含 m 個 0 9 之間的數字,表示每塊位置的價值。輸出一行表示牛牛所能取得的最大的價值。示例1 4 4 3332 3233 3332 23232n,m int ea...
動態規劃題解 D001 分田地
題目描述 牛牛和 15 個朋友來玩打土豪分田地的遊戲,牛牛決定讓你來分田地,地主的田地可以看成是乙個矩形,每個位置有乙個價值。分割田地的方法是橫豎各切三刀,分成 16 份,作為領導幹部,牛牛總是會選擇其中總價值最小的乙份田地,作為牛牛最好的朋友,你希望牛牛取得的田地的價值和盡可能大,你知道這個值最大...
JZOJ2938 分割田地 DP
題目 給出2 n2 n的矩陣,求有多少種方案可以把這個矩陣分割成mm塊。很明顯是dpd p啊。設f i j 0 1 f i j 0 1 表示選到第i i列,有j j個聯通塊,這一列的兩個格仔是否分在同一塊 0表示不是,1表示是 的方案數。那麼我們分情況來看。第ii列不同塊,比第i 1 i 1列多出兩...