tokitsukaze有n個數,需要按順序把他們插入雜湊表中,雜湊表的位置為0到n-1。
插入的規則是:
剛開始雜湊表是空的。
對於乙個數x,在雜湊表中,如果(x mod n)的位置是空的,就把x放在(x mod n)的位置上。如果不是空的,就從(x mod n)往右開始找到第乙個空的位置插入。若一直到n-1都不是空的,就從位置0開始繼續往右找第乙個空的位置插入。
因為雜湊表總共有n個空位,需要插入n個數,所以每個數都能被插入。
現在tokitsukaze想知道把這n個數按順序插入雜湊表後,雜湊表中的每個位置分別對應的是哪個數。
第一行包含乙個正整數n(1≤n≤10^6)。第二行包含n個非負整數x(0≤x≤10^9),這些數按從左到右的順序依次插入雜湊表。
輸出一行,n個數,第i個數表示雜湊表中位置為i所對應的數。(0≤i≤n-1)示例1
複製
4複製1 2 6 5
5 1 2 6
插入1時,1 mod 4=1,是空的,在位置1插入。示例2插入2時,2 mod 4=2,是空的,在位置2插入。
插入6時,6 mod 4=2,不是空的,找到下乙個空的位置為3,所以在位置3插入。
插入5時,5 mod 4=1,不是空的,找到下乙個空的位置為0,所以在位置0插入。
複製
4複製3 0 7 11
0 7 11 3
插入3時,3 mod 4=3,是空的,在位置3插入。**:插入0時,0 mod 4=0,是空的,在位置0插入。
插入7時,7 mod 4=3,不是空的,找到下乙個空的位置為1,所以在位置1插入。
插入11時,11 mod 4=3,不是空的,找到下乙個空的位置為2,所以在位置2插入。
#includeusing namespace std;
int fa[1000009];
int b[1000009];
int findset(int x)
int main()
for(int i=0;i}
牛客 157B 鳳凰(樹上並查集,dfs)
題幹 傳說,鳳凰是百鳥之王。有一天,鳳凰要召開百鳥大會,百鳥國是乙個由n個節點組成的樹,每個節點有乙隻鳥,開會的節點定在1號節點。每只鳥可以花費1s通過一條邊,由於每根樹枝 邊 的載重有限,只允許乙隻鳥同時通過。作為會議的策劃師,htbest想知道百鳥國的所有鳥在1點集合最少需要多少秒。第一行有乙個...
堆 並查集 牛客模擬賽 牛半仙的魔塔
d 牛 半仙的魔 塔d 牛半仙的魔塔 d 牛半仙的 魔塔牛半仙的妹子被大魔王抓走了,牛半仙為了就他的妹子,前往攻打魔塔。魔塔為一棵樹,牛半仙初始在一號點。牛半仙有攻擊,防禦,血量三個屬性。除一號點外每個點都有魔物防守,魔物也有攻擊,防禦,血量三個屬性。每個怪物後面都守著一些藍寶石,獲得1藍寶石可增加...
牛客網機試題 最短路徑(並查集)
n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離 第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路 接下來m行兩個整數,表示相連的兩個城市的編號n 1行,表示0號城市到其他城市的最短路,如果無法到達,輸出 ...