c - 積木城堡
time limit:0msmemory limit:0kb64bit io format:%lld & %llu
submit
status
practice
scu 2930
system crawler (2016-02-26)
description
xc的兒子小xc最喜歡玩的遊戲用積木壘漂亮的城堡。城堡是用一些立方體的積木壘成的,城堡的每一層是一塊積木。小xc是乙個比他爸爸xc還聰明的孩子,他發現壘城堡的時候,如果下面的積木比上面的積木大,那麼城堡便不容易倒。
所以他在壘城堡的時候總是遵循這樣的規則。小xc想把自己壘的城堡送給幼兒園裡漂亮的女孩子們,這樣可以增加他的好感度。
為了公平起見,他決定把送給每個女孩子一樣高的城堡,這樣可以避免女孩子們為了獲得更漂亮的城堡而引起爭執。
可是他發現自己在壘城堡的時候並沒有預先考慮到這一點。所以他現在要改造城堡。
由於他沒有多餘的積木了,他靈機一動,想出了乙個巧妙的改造方案。
他決定從每乙個城堡中挪去一些積木,使得最終每座城堡都一樣高。為了使他的城堡更雄偉,他覺得應該使最後的城堡都盡可能的高。
任務:請你幫助小xc編乙個程式,根據他壘的所有城堡的資訊,決定應該移去哪些積木才能獲得最佳的效果。第一行是乙個整數t(1<=t<=10),表示測試資料的組數;每一組測試資料的第一行是乙個整數n(n<=100),表示一共有幾座城堡。
以下n行每行是一系列非負整數,用乙個空格分隔,按從下往上的順序依次給出一座城堡中所有積木的稜長。用-1結束。
一座城堡中的積木不超過100塊,每塊積木的稜長不超過100。對於每一組測試資料輸出乙個整數,表示最後城堡的最大可能的高度。如果找不到合適的方案,則輸出0。每一組測試資料一行。1
22 1 -1
3 2 1 -13noi
思路:
這道題目真的沒想到竟然是0-1揹包,只是這個題目是進行n次的0-1揹包。
參考文章:
ac**:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
const int t=150;
#define inf 0x3f3f3f3fl
#define mod 1000000000
typedef long long ll;
typedef unsigned long long ull;
struct node
a[t];
int main()
}} bool flag ;
for(j=100*100;j>=0;--j){
flag = true;
for(i=0;i
293 翻轉遊戲
你和朋友玩乙個叫做 翻轉遊戲 的遊戲,遊戲規則 給定乙個只有 和 的字串。你和朋友輪流將 連續 的兩個 反轉成 當一方無法進行有效的翻轉時便意味著遊戲結束,則另一方獲勝。請你寫出乙個函式,來計算出第一次翻轉後,字串所有的可能狀態。示例 輸入 s 輸出 1.字串操作 class solution ve...
2 9 3 arcTo 畫圓角矩形
charset utf 8 arcto 畫圓角矩形title body canvas style head id canvas width 1000 height 600 canvas body var canvas document.getelementbyid canvas context ca...
MT 293 拐點處切線
2018浙江高考壓軸題 已知函式 f x sqrt ln x.2 若 a le 3 4 ln 2,證明 對於任意 k 0 直線 y kx a 與曲線 y f x 有唯一的公共點.分析 等價於 k dfrac ln x a 有唯一解.記 g x dfrac ln x a 則 g x dfrac 1 a...