POJ 1017 貪心模擬

2021-09-01 00:19:45 字數 870 閱讀 3284

因為4*4,5*5,6*6的必須單獨放,所以先開闢這三個的盒子,然後往裡面新增1*1和2*2的;

對於5*5的只能填1*1的,乙個已經塞了5*5的盒子可以填11個1*1的格仔;

對於4*4的,先填2*2的,再填1*1的;

然後再為3*3的開闢新盒子,每四個可以放乙個盒子,不足四個的再新開闢乙個,然後往裡面塞1*1和2*2的,同理也是先塞2*2的;

如果新開闢了乙個盒子裡面只有乙個3*3的,可以塞5個2*2的,注意一下就行了;

然後2*2的開闢,塞1*1的;

最後再為1*1的開闢空間即可;

#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int inf=0x3f3f3f3f;

const double epos=1e-8;

int main()

else if(h==2)

else if(h==1)

}//為2*2的開闢空間,塞1*1的;

t=b/9;

res+=t;

if(t*9!=b)

//最後為1*1的開闢;

t=a/36;

res+=t;

if(t*36!=a)

++res;

printf("%d\n",res);

}return 0;

}

貪心 模擬 poj 1017

題目大意 有1 1,2 2,3 3,4 4,5 5,6 6的產品若干個,問最少需要用多少個6 6的包裝盒把所有的產品都裝好。解題思路一 顯然6 6,5 5,4 4的產品每次只能放乙個,且放完後只能放1 1的產品。對於3 3的格仔,設定陣列lim i j 表示放了i個j j的產品後最多還能放多少個2 ...

POJ 1017 裝箱問題(貪心)

大意是只有6 6規格的箱子來裝 雖然是描述三維的,但因為高度相同,因此忽略掉 給你若干個從1 1到6 6規格的箱子,求所需最小箱子數。思路 很明顯應該利用貪心,即優先從最大規格的箱子數來考慮,然後因為在裝完較大規格的箱子後,該箱子可以存在剩餘空間,所以仍應該利用,且仍舊優先裝較小規格中較大的箱子。6...

poj1017 貪心 思維 好題

題意 運輸公司有6種規格的物品各若干件 1 1 2 2,3 3 4 4,5 5,6 6的,這六種物品都要放在6 6的箱子裡運輸,讓你求出最少用多少個箱子。解題思路 有兩種方法來做,第一種特別繁瑣,也是最直接的解決方式,那就是根據常識來貪心並模擬,量很大,另一種和這個貪心乙個思路,實現的時候非常簡便,...