2017 4校賽C (模擬鍊錶)

2021-07-31 05:32:42 字數 1194 閱讀 3030

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 230  

解決: 45 [

提交][

狀態][

討論版]

瑞神要準備考研了,為了複習資料結構,瑞神在某寶上買了一本資料結構得考研輔導資料《考研資料結構---從入門到放棄》,從此瑞神開始了愉快的復(zhuang)習(bi)。

有一天,瑞神找了好多條鍊錶來輔助自己複習,但是他在複習的過程中一不小心把鍊錶掉在了地上,撿起來的時候鍊錶以及斷成了好多個結點,每個結點只保留了當前結點的位址、結點的值和下乙個結點的位址。瑞神看著這些結點渾身難受無法複習,為了讓瑞神繼續復(zhuang)習(bi)下去,請你幫瑞神把鍊錶復原。

第一行給出結點的個數n(1<=n<=100000)。

位址為5位數字,-1表示位址為null。

每一行輸出一條鍊錶,只輸出每個節點的值。

多條鍊錶按照首結點位址從小到大排序。

3

00323 155 -1

00322 87 00323

00233 1 -1

1

87 155

。。。 錯了6遍 我是真服我自己

宛如乙個智障

用乙個集合去存煉表頭的位址  ;  然後用位址為下標的,值為後乙個位址的陣列去輸出當前鍊錶;

注意一點就是如何讓s集合中儲存的只有煉表頭部分 ,就是這個地方沒有處理好 錯了6次

#include #include#include#includeusing namespace std;

const int maxn=100000+5;

int a[maxn];

int num[maxn];

int main()

s2.insert(r);//將尾放入

a[l]=r;

num[l]=v;

}// for(it=s.begin();it!=s.end();it++)

// cout<<*it<<" ";

// cout<

5656 55 6

6 6565 -1

556 22 656

222 545 -1

553 11 -1

300323 155 -1

00322 87 00323

00233 1 -1

NOIP 模擬賽 鐘 模擬 鍊錶

biubiu 這道題實際上就是優化模擬,就是找到最先死的讓他死掉,運用時間上的加速,題解上說,要用堆優化,也就是這個意思。對於鍊錶,單項鍊表和迴圈鍊錶都不常用,最常用的是雙向鍊錶,刪除和插入比較方便。所謂掛鏈就是把鍊錶中的值域換成一坨別的東東西.include inline void read in...

模擬鍊錶c

和鍊錶相似,只不過將鍊錶的next域用乙個陣列表示。陣列data用來存放具體數字,而另乙個陣列right用來存放當前序列中每乙個元素右邊的元素在陣列data中的位置的。for int i 1 i n i scanf d data i len n 初始化陣列right for int i 1 i n ...

模擬 多校賽 開學覺醒賽 G 骰子

題目描述 silechen有一顆骰子,他喜歡跟骰子玩遊戲,一開始他將骰子平放在地上,然後骰子按照silechen的指令在地上滾動,silechen想將知道骰子每次接觸地面的面 也就是骰子的下面 的值加起來是多少 注意,一開始接觸地面的值也要算進去 輸入 第一行是資料組數 1 t 10 接下來每組資料...