資料結構 hbb(漢堡包)
問題描述
漢堡包有收集漢犇犇的癖好,它喜歡把漢犇犇乙個疊乙個的放置。
因為它有強迫症,所以每當它想放乙個新的漢犇犇進去的時候並不一定想直
接疊在最上面,簡單的說,當他想放第 a 個新的漢犇犇的時候,他想把它插入到
漢犇犇 ai(保證漢犇犇 ai 存在)的上面;
除此之外,有時候他會吃掉收集的部分漢堡包,因為不滿足於只吃乙個,每
次會吃掉某個漢犇犇開始,往上連續的 x(x>=1)個漢犇犇。
給定 n 個操作,輸出 n 個操作後活下來的漢犇犇的編號(從最底下的漢犇犇
開始到最頂):
1 a : 1 代表乙個新的漢犇犇(第乙個出現的漢犇犇編號為 1,第二個為 2,以此類推),漢堡包想把他放在編號為 a 的漢犇犇上面,如果不存在編號 a的漢犇犇,則放在所有漢犇犇的最上面即可;
2 a b : 2 代表漢堡包想吃掉編號 a 的漢犇犇開始(如果 a 不存在則從最底下的漢堡包開始),按疊好的順序,往上共計 b 個漢犇犇(算上編起始位置一共 b 個),若不夠 b 個,則吃到頂結束;
★資料輸入
輸入第一行為乙個正整數 n,代表運算元量。
接下來 n 行操作,如題意;
對於 50%的資料, 1<=n<=1000;
對於 100%的資料, 1<=n<=100000, 0 <= a, b <= 100000
★資料輸出
輸出自底向上的漢犇犇編號,數字之間用空格隔開,行末無空格,無換行;
輸入示例
輸出示例
31 10
1 10
1 11 3 2
輸入示例
輸出示例
41 10
1 10
1 12 1 2
2示例一解釋:
(1) 第乙個操作,加入漢犇犇 1 放在漢堡包 10 上面,漢堡包 10 不存在,所以直
接放最上
(2) 第二個操作,加入漢犇犇 2 放在漢犇犇 10 上面,漢犇犇 10 不存在,所以
直接放最上
(3) 第三個操作,加入漢犇犇 3 放在漢犇犇 1 上面,漢犇犇 1 存在,所以放 1
上示例二解釋:
(1) 前面部分操作和示例一一樣,為 ;
(2) 接著漢堡包吃掉漢犇犇 1 是的 2 個漢犇犇,所以被吃掉
(3) 故輸出 2
解題思路
雙向鍊錶+陣列存對應節點的位址
code(未驗證)
1 #include 2 #include 3 #include 4using
namespace
std;
5 #include 67
#define maxn 10000289
struct
node
1013
intdata;
14 node *bef;//
before
15 node *next;
16};
1718 node *addr[maxn] = ;
19 node *head = null, *tail =null;
2021
void
init();
22void insert(int &prenum,int &thisnum);
23void eat(int &start,int &num);
24void
disall();
2526
intmain()
2733
34void
init()
3553
else
//op==2
5458
//disall();59}
60}6162
void insert(int &prenum,int &thisnum)
6373
else
//數不存在 或 數是最後乙個
7480}81
82void eat(int &start,int &num)
8392 head->next =p;
93if(p==null) tail =head;
94else p->bef =head;95}
96else
//找的數存在,獲取位址,開始刪
97103 pl->next =p;
104if(p==null) tail =pl;
105else p->bef =pl;
106}
107}
108109
void
disall()
110118 }
漢堡包評價
結對子是一件很有意義的事情,通過對結,我們可以發現對方的優點 取長補短 通過對結,我們可以擁有不一樣的思維方式,雖然這些都可以在和同學討論中得到,但感覺就是不一樣的。幾個人在一起就是單純的討論 出現問題,怎樣才可以解決,解決之後就可能不在一起討論了。但結對子不同,我們擁有同樣的目標,同樣的作業,同樣...
結對程式設計之漢堡包
上次結對程式設計的隊友是趙澤嘉 學號 201306114430 在這次結對程式設計中,讓我覺得好的是 1 態度。以往乙個人程式設計時,經常會偷懶,抱著等會再做的思想,而結對程式設計,我和隊友互相監督,更好增加程式設計的效率。2 更好學習。個人程式設計時,往往都會遇到問題時,而這時,一般都是上網查詢資...
漢堡王什麼漢堡好吃 超級好吃的漢堡包(快手漢堡胚
說起漢堡包大家可能都覺得不健康,高油脂的炸肉排,高糖高鹽的醬料,小朋友都抵擋不了它的 拒絕油炸從我做起,在家給家人們自製起來健康的漢堡包吧?漢堡胚做法 材料 高筋麵粉260g 其中可以部分用全麥粉代替 牛奶120g 水也行 全蛋液50g 再準備一點留著最後刷表面用 酵母粉3g 糖粉25g 少糖版 鹽...