1330 PIPI的樂高積木

2021-10-03 13:37:47 字數 1375 閱讀 7335

pipi有一堆樂高小積木,小積木剛好是1x1x1的立方體,popo把這些立方體壘起來組成了n根柱子。

popo搭的柱子高度參差不齊,pipi認為這並不美觀,pipi將n根柱子的美觀度定義為最高柱子和最矮柱子的差,這個值越小越美觀。

pipi為了讓柱子變得美觀,他每次可以從某根柱子上拿下乙個樂高積木放到另一根柱子上(兩根柱子不能是同一根)。pipi可以進行不超過k次的移動操作,請問這n根柱子能夠達到的最小美觀度是多少?

第一行輸入兩個數n,k (2<=n<=1e5, 0<=k<=5000) 表示柱子的數量以及pipi最多進行的移動次數。

第二行輸入n根柱子的初始高度(1<=hi<=1e4)。

第一行輸出兩個數字 a b。代表最小美觀度和到達該美觀度最少的移動次數。

接下來b行,每行兩個數x和y,代表將x柱子上的立方體放到y上。

若x有多種選擇,那麼選擇編號盡可能大的x,若y有多種選擇,那麼選擇編號盡可能小的y(柱子編號從1~n)。

3 25 8 5

0 22 1

2 3

#include

using

namespace std;

struct bar};

set s;

vectorint,

int>

>mov;

intmain()

);} set

::iterator it;

int ans=k;

///ans賦初值為k,因為當不存在h2-h1小於等於1時,ans的值為k,如7--5

for(

int i=

0;i) s.

erase

(*s.

begin()

);s.

erase

(*it)

; s.

insert()

; s.

insert()

; mov.

push_back()

;}it=s.

end();

if(it!=s.

begin()

)--it;

int h1=

(*s.

begin()

).h,h2=

(*it)

.h;printf

("%d %d\n"

,h2-h1,ans)

;for

(int i=

0;isize()

;i++

)printf

("%d %d\n"

,mov[i]

.first,mov[i]

.second)

;return0;

}

第017講 函式 Python的樂高積木

dry是程式設計師們公認的指導原則 don t repeat yourself.快快武裝你的思維吧,拿起函式,不要再去重複拷貝一段 了!使用函式 0 可以降低 量 呼叫函式只需要一行,而拷貝黏貼需要n倍 1 可以降低維護成本 函式只需修改def部分內容,而拷貝黏貼則需要每一處出現的地方都作修改 2 ...

1424 PIPI的消消樂 弱化版 (dp)

新的消消樂遊戲又來了!有乙個集合一開始含有n個元素,pipi和popo需要輪流操作,若當前集合中還有x個元素且x大於等於2,操作者需要把f x 或者x f x 個元素從集合中刪去 若當前集合中還有x個元素且x小於2,當前操作者就輸了。其中f x y,y為滿足y 2 x的最大整數。按照慣例由pipi先...

樂高推出《刺蝟索尼克》積木套裝 完美再現綠山地帶

經歷數月等待,樂 方終於推出了 刺蝟索尼克 的積木套裝,特okevy點是忠實重現了遊戲中的綠山地帶。感興程式設計客棧趣的朋友可拿出 69.99 美元 約 446 rmb 去一套,且套裝中包括了大反派蛋頭博士 dr.eggman 和混沌翡翠 chaos emeralds 等元素。該套裝全稱為 lego...