護林員蓋房子 C

2021-10-10 07:06:18 字數 931 閱讀 3334

具體思路:

建立二維陣列,把空地標為1,有樹標為0;

統計a[i][j]的行中向前數最大長度,如0111,記為0123;

設定width,length,遍歷a[i][j],行內有length = a[i][j],width = 1;

再遍歷列,length = min,width++;

//2020-11-2

#include

using

namespace std;

intmain()

;int tmp;

cin >> x >> y;

//輸入陣列

for(

int i =

1; i <= x; i++

)for

(int j =

1; j <= y; j++

)//統計每一行的最大長度

for(

int i =

1; i<=x; i++

)for

(int j =

1; j <= y; j++

)//與上一行比較

int max =0;

int area;

int length, width =1;

for(

int i=

1; i<= x; i++

)for

(int j =

1; j <= y; j++)}

} cout << max;

return0;

}

演算法練習 護林員蓋房子

百練2019信科研究生上機測試 總時間限制 1000ms 記憶體限制 65536kb 描述 在一片保護林中,護林員想要蓋一座房子來居住,但他不能砍伐任何樹木。現在請你幫他計算 保護林中所能用來蓋房子的矩形空地的最大面積。輸入 保護林用乙個二維矩陣來表示,長寬都不超過20 即 20 第一行是兩個正整數...

VIJOS P1057蓋房子 (動態規劃)

題意 在乙個 n m 的土地中 中有瑕疵的為0 完好的為1 其中最大的正方形無瑕疵土地 輸出其邊長。思路 d i j 為 以點 i j 為左上角的正方形最大的邊長 顯然要是a i j 0 則d i j 0 要是a i j 1 則 d i j min d i 1 j d i 1 j 1 d i j 1...