時間限制:10000ms
單點時限:1000ms
記憶體限制:256mb
給定一棵包含 n 個節點的無根樹,小hi想知道如果指定其中某個節點 k 為根,那麼每個節點的父節點是誰?
第一行包含乙個整數 n 和 k。1 ≤ n ≤ 1000, 1 ≤ k ≤ n。
以下n-1行每行包含兩個整數 a 和 b,代表ab之間存在一條邊。 1 ≤ a, b ≤ n。
輸入保證是一棵樹。
輸出一行包含 n 個整數,分別代表1~n的父節點的編號。對於 k 的父節點輸出0。
樣例輸入
5 4樣例輸出1 2
3 1
4 3
5 1
3 1 4 0 1**如下:
#include #include using namespace std;
const int maxn = 1005;
int n, p[maxn];
vectorg[maxn];
void dfs(int u, int fa)
}int main()
//指定根節點。
p[root] = 0; //設定根節點的父親節點為-1,代表根節點沒有父親節點。
dfs(root, 0);
for(int i = 1; i <= n; ++i)
return 0;
}
hihoOffer收割練習20題目2
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 每乙個正整數 n 都能表示成若干個連續正整數的和,例如10可以表示成1 2 3 4,15可以表示成4 5 6,8可以表示成8本身。我們稱這種表示方法為sci sum of consecutive integers 表示法。小h...
hihoOffer收割練習20題目2
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 每乙個正整數 n 都能表示成若干個連續正整數的和,例如10可以表示成1 2 3 4,15可以表示成4 5 6,8可以表示成8本身。我們稱這種表示方法為sci sum of consecutive integers 表示法。小h...
hihocoder offer收割程式設計練習賽58
1.最大的k偏差序列。分析一下資料可以發現,對於連續的2k個資料,只有一種方式可以使結果字典序最大,例如1 2 3 4 5 6 7 8,每4個一組,結果就是5 6 7 8 1 2 3 4。然後不夠一組的就先盡可能交換,剩下的元素逆序就可以了。1 include 2 using namespace s...