洛谷 P2790 ccj與zrz之積木問題

2022-04-07 04:30:21 字數 2190 閱讀 2798

ccj和zrz無聊到了玩起了搭積木...(本題選自uva101,翻譯來自《演算法競賽入門經典2》)

從左到右有n個木塊,編號從0到n-1,要求模擬以下4種操作(下面的a和b都是木塊編號,歸為表示比如1號木塊歸到1號位去)。

move a onto b 把a和b上方的木塊全部歸位,然後把a摞在b上面。

move a over b 把a上方的全部歸位,然後把a放在b所在木塊堆的頂部。

pile a onto b 把b上方的木塊全部歸位,然後把a及上面的木塊整體摞在b上面

pile a over b 把a及上面的木塊整體摞在b所在木塊堆的頂部。

遇到quit停止。a和b在同一堆的指令時非法指令,應當忽略。

最後輸出每個位置的木塊列表,按照從底部到頂部的順序排列。

輸入格式:

第一行:n。

接下來若干行:每行乙個指令(語法不會錯),遇到quit停止。

輸出格式:

n行,第i行輸出乙個i和冒號,然後乙個空格,輸出,它位置上的所有積木。

輸入樣例#1: 複製

10

move 9 onto 1

move 8 over 1

move 7 over 1

move 6 over 1

pile 8 over 6

pile 8 over 5

move 2 over 1

move 4 over 9

quit

輸出樣例#1: 複製

0: 0

1: 1 9 2 4

2:3: 3

4:5: 5 8 7 6

6:7:

8:9:

0 < n < 25。

思路:模擬

#include#include

#include

#include

using

namespace

std;

intn,a,b;

int id[30

];char s[3][5

];struct

nondv[

30];

void

work1()

else

}void

work2()

for(int i=v[id[b]].top;i>=1;i--)

if(v[id[b]].num[v[id[b]].top]!=b)

v[id[a]].top--;v[id[b]].top++;

v[id[b]].num[v[id[b]].top]=a;

id[a]=id[b];

}void

work3()

int pos=id[a];

for(int i=v[pos].top;i>=1;i--)

if(v[pos].num[i]==a)

v[pos].top-=i;

break

; }

}void

work4()

v[pos].top-=i;

break

; }

}int

main()

else

if(s[1][0]=='p'

)

else

break

; }

for(int i=0;i)

}

調不出來的40分gg

思路:用vector維護。

#include#include

#include

#include

#include

using

namespace

std;

intn,a,b;

inth1,q1,h2,q2;

char p[10],q[10

];vector

s[32

];void

find()

if(s[i][o]==b)

}}void

moveonto()

void

moveover()

void

pileonto()

void

pileover()

intmain()

for(int i=0;i)

}

洛谷P5274 優化題 ccj

洛谷p5274 優化題 ccj ccjccj 在前往參加 universe oiuniverseoi 的途中。有乙個神犇 ccjccj,他在前往參加 universe oiuniverseoi 的途中發現了乙個超星系群。在這個超星系群,有著一群生物 ccjccj,他們有著神奇的 ccjccj 文化,...

洛谷P2871與揹包

揹包用於尋找最優解,適用於在一堆數值中找尋符合題目要求條件的最優組合。揹包其實就是兩個迴圈 蒟蒻的蒟蒻總結 以p2871為例 在可裝下的條件下找到最大價值組合。起初想用 自認為是動歸 蒟蒻的思路 倒著想 第五個有裝下裝不下兩種情況 1.裝下 五個的價值和。2裝不下 判斷 四個的最大價值和 與 三個的...

洛谷P6859 蝴蝶與花

傳送門 to luogu 這思路真是絕了 我不知道該怎麼說。注意到左端點需要最小,所以我們一來先猜 l 1 l 1l 1 假如我們求出乙個最小的 r rr 使得 l,r l,r l,r 中所有數的和超過 k kk 那麼這個和最多是k 1 k 1k 1 同時,如果說 l,r l,r l,r 中所有數的...