時間限制: 1 sec
記憶體限制: 128 m
瑞神要準備考研了,為了複習資料結構,瑞神在某寶上買了一本資料結構得考研輔導資料《考研資料結構---從入門到放棄》,從此瑞神開始了愉快的復(zhuang)習(bi)。
有一天,瑞神找了好多條鍊錶來輔助自己複習,但是他在複習的過程中一不小心把鍊錶掉在了地上,撿起來的時候鍊錶以及斷成了好多個結點,每個結點只保留了當前結點的位址、結點的值和下乙個結點的位址。瑞神看著這些結點渾身難受無法複習,為了讓瑞神繼續復(zhuang)習(bi)下去,請你幫瑞神把鍊錶復原。
第一行給出結點的個數n(1<=n<=100000)。
位址為5位數字,-1表示位址為null。
每一行輸出一條鍊錶,只輸出每個節點的值。
多條鍊錶按照首結點位址從小到大排序。
3
00323 155 -1
00322 87 00323
00233 1 -1
1
87 155
題目比較坑,可能水平太低,之前想的結構體儲存太智障,後來和隊友討論的三陣列分別儲存,思路是正確的,結果存在bug,鬱悶了好久,結果錯在了標記上。。。。
解題思路:
因為位址是5位的,所以可以直接從頭遍歷;
<1> 建立 ru 陣列儲存哪個是起始點,起始點的入度為零;
<2> 建立used陣列儲存這個位址是否使用過,為後續的遍歷提供方便。
<4> 建立value陣列儲存當前位址儲存的數值。
上**:
#include#includeusing namespace std;
int next[100010];
int used[100010];
int ru[100010];
int value[100010];
int main()
{ memset(next,-1, sizeof(next));
memset(used, 0, sizeof(used));
memset(ru,0,sizeof(ru));
memset(value,-1,sizeof(value));
int a,b,c;
int n;
scanf("%d",&n);
for(int i=0;i
湖科大校賽第三題
小兔位於x軸的x點,欲跳至x軸的y點。x,y均為整數。小兔每次沿x軸直線跳躍,每跳的長度均為正整數,假設 小兔一共跳了n次才到目的地,每次跳的長度為f1,f2,fn.有規則如下 f1 fn 1 fi fi 1 1 2 i n 注 是絕對值符號 我們的問題是給定x,y,如何使得n最小。包含多組資料,但...
湖科大校賽第三題
小兔位於x軸的x點,欲跳至x軸的y點。x,y均為整數。小兔每次沿x軸直線跳躍,每跳的長度均為正整數,假設 小兔一共跳了n次才到目的地,每次跳的長度為f1,f2,fn.有規則如下 f1 fn 1 fi fi 1 1 2 i n 注 是絕對值符號 我們的問題是給定x,y,如何使得n最小。包含多組資料,但...
武大校賽E題
題意是給定一副無向圖,然後求走了t步之內,從起點到終點有多少走法,有個地方題面沒有說清楚,就是走到點n之後不能再往別的點走了 鄰接矩陣,乘t次之後,map i j 就是從i點走到j點的且走t步時的走法。我們把矩陣中n到其他點的路徑去掉,所以我們要算的就是 map 1 n i 1 i t 就是答案了 ...