寒假訓練1 17訓練賽J

2021-10-02 08:14:31 字數 738 閱讀 3945

題目大意

有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...