題目大意
有n個孩子(編號號1~n ,3<=n<=2*10^5),手拉手圍成乙個圈。(按順時針方向)給出編號為i的孩子的後面兩個孩子的編號ai1,ai2(但你不清楚i後面乙個孩子的編號是ai1還是ai2),求這個圈的孩子編號的順序(以任意孩子開頭輸出一種即可)
解題思路
將給出的ai1與ai2相連可以得到這個環,從任意節點(不妨從節點1開始)開始遍歷這個環,只不過得到順序有可能與題目要求的順序相反,這時只要判斷一下節點1後面連著的節點是否符合題意。
**
#include
#include
#include
using
namespace std;
int b[
202020];
bool sym[
202020];
vector <
int> a[
202020];
void
dfs(
int x,
int father)}}
intmain()
a[aa]
.push_back
(bb)
; a[bb]
.push_back
(aa);}
dfs(1,
0);if
(b[2
]==wa || b[2]
==wb)
else
}
寒假訓練賽 J題
題目鏈結 題目大意 一群小孩圍成個圈跳舞,每個孩子認識他前面兩個孩子,但是並不知道誰是他下乙個,要求你根據題目給出的資料求出孩子的順序。思路 乙個孩子i認識他的下乙個孩子和下下個孩子,那麼i的下乙個孩子必須要認識i的下下乙個孩子,才能使條件成立,因此只需要每次選擇i認識的其中乙個孩子認識i認識的另乙...
2016 1 26寒假訓練賽1
2016.1.26寒假訓練賽1 a a mathematical curiosity 按照題意,暴力列舉過去,統計結果即可 b tempter of the bone 搜尋入門題目,按最簡單的方式寫即可 c r n 1.特殊處理a和b中有乙個為0的情況,如果成立的話,結果增加4 2.其他的情況,先考...
寒假訓練賽 I題
題目鏈結 題目大意 給出乙個n和k,計算出n由k個2 p p z 相加而成,求這k個數的組合。思路 先算出n的二進位制形式,然後計算二進位製上有幾個1,記為p,並將每個是1的位置對應十進位制的數由大到小存入佇列中,p是組合成n的最小個數以及佇列的size,如果n include include in...