ZCMU1158 松哥的二叉樹

2021-08-15 17:44:55 字數 683 閱讀 7876

有一棵滿二叉樹,最大深度為d,且所有葉子的深度都相同。所有結點從上到下從左到右編號為1,2,3,…,2^d-1。松哥在結點1處放下乙個小球,它會往下落。每個結點都會有乙個開關,初始全為關閉,當每次有小球落到乙個開關上時,開關的狀態都會改變(開變關,關變開)。當小球到達某個結點時,如果該結點上的開關關閉,則小球往左走,否則往右走,直到走到葉子結點。現在有n個小球依次從結點1開始往下落,松哥想要知道第n個小球落在哪個結點,你能告訴他嘛?

多組測試資料。每組測試資料報含兩個整數d(d<=30),n(n<=2^d-1)。

對於每組測試資料輸出乙個整數,代表最後乙個小球最終下落在哪個結點。

4 14 24 3

8
12
10
球先到節點上 然後開關狀態再改變 (不是所以的開關狀態改變,只是當前到的開關狀態改變)
奇數球往左 偶數球往右
#includeusing namespace std;

/*1-2-4>8

1-3-6>12

1-2-5>10

1-3-7>14

*/int main()

{ int d,n;

while(scanf("%d%d",&d,&n)!=eof)

{ int k=1,i;

for(i=0;i

3 二叉哥的二叉樹

題目描述 傳說計算機學院有一位前輩叫做二叉哥,他十八般演算法樣樣精通。他當年在程設的時候由於二叉樹一舉成名。大家為了紀念這一事件,尊稱他為二叉哥!二叉樹是乙個什麼樣的東西呢?現在我們就來揭開二叉哥的二叉樹的神秘面紗吧!下圖就是一棵有著9個節點的二叉樹。顧名思義,二叉樹就像一棵倒著生長的樹,每個分叉點...

zcmu 4928(二叉樹的性質)

時間限制 1 sec 記憶體限制 32 mb 提交 17 解決 11 提交 狀態 討論版 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點...

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...