題意:有一堆等高的包裝好的產品,有1×1,2×2,3×3,4×4,5×5,6×6六種包裝,且有6×6的包裹,用來裝這些包裝好的產品。分別給出每種包裝的數量,求所需的最少的包裹。
分析:乙個包裹只能容下1個6×6餘0空位,1個5×5餘11,1個4×4餘20,最多能容下4個3×3,9個2×2,36個1×1。
貪心策略:盡可能地利用空間。先從大的裝起,6×6的獨用乙個,其它的若有剩餘,則用1×1或2×2去填補空間,需要注意,5×5只能用1×1去填補剩餘空間。
偽**如下:
long long a1,a2,a3,a4,a5,a6;
long long lef2,lef3,lef4,lef5;
long long sum;
while(~scanf("%lld"a1-a6))
if(4×4有剩餘)
if(3×3沒有剩餘)
else
if(lef327)
else if(lef318)
else if(lef3==9)
if(a2!=0)
else
}if(a1!=0)
else
}輸出sum;
}**如下:
#includeusing namespace std;
int main()
if(lef5!=0)
if(lef4!=0)
else
}if(lef3!=0)
else
a1=a1-lef3;
if(a1<0) a1=0;
}else if(lef3==18)
else
a1=a1-lef3;
if(a1<0) a1=0;
}else if(lef3==9)
a1=a1-lef3;
if(a1<0) a1=0;
}} if(a2!=0)
else
}if(a1!=0)
printf("%lld\n",sum);
} return 0;
}
小結:分析仔細,從大的開始處理。不算難,但考驗**的能力。 北大OJ Yogurt factory(貪心)
原題連線 本題題意是 有n周,每週製作 運輸酸奶的 c,需求y都有變化,另有倉庫,可儲存任意多的酸奶,每週每單位儲存 恆定為s,求n周最少的總成本。本題的主要問題是 第i周的酸奶要不要之前就製作好存下來,還是直接做完賣了,就是存與不存的問題。下面我們來探尋一下存與不存的條件。n sc i y i c...
北大 OJ 4151 電影節(貪心)
總時間限制 1000ms 記憶體限制 65536kb 描述大學生電影節在北大舉辦 這天,在北大各地放了多部電影,給定每部電影的放映時間區間,區間重疊的電影不可能同時看 端點可以重合 問李雷最多可以看多少部電影。輸入多組資料。每組資料開頭是n n 100 表示共n場電影。接下來n行,每行兩個整數 0到...
數制轉換 北大
二刷 數制轉換 讀題可以發現題中可能有的幾個坑 資料可能存在包含前導零的情況 輸出時字母符號全部用大寫表示。其他 對於這種既有字元又有數字的轉換,常見的解決辦法就是初始化一張查詢表,之後進行對映查表,這樣會快很多。輸入和輸出都是字元陣列 include bits stdc h using names...