1758 二叉樹 3 6資料結構之二叉樹

2021-10-23 17:53:00 字數 941 閱讀 1773

總時間限制: 1000ms 記憶體限制: 65536kb

描述

如上圖所示,由正整數1, 2, 3, …組成了一棵無限大的二叉樹。從某乙個結點到根結點(編號是1的結點)都有一條唯一的路徑,比如從10到根結點的路徑是(10, 5, 2, 1),從4到根結點的路徑是(4, 2, 1),從根結點1到根結點的路徑上只包含乙個結點1,因此路徑就是(1)。對於兩個結點x和y,假設他們到根結點的路徑分別是(x1, x2, … ,1)和(y1, y2, … ,1)(這裡顯然有x = x1,y = y1),那麼必然存在兩個正整數i和j,使得從xi 和 yj開始,有xi = yj , xi + 1 = yj + 1, xi + 2 = yj + 2,… 現在的問題就是,給定x和y,要求xi(也就是yj)。

輸入

輸入只有一行,包括兩個正整數x和y,這兩個正整數都不大於1000。

輸出

輸出只有乙個正整數xi。

樣例輸入

10 4

樣例輸出

2這題不難,仔細看圖推理即可;而且,這並不是要我們去建立二叉樹。

舉個例子,由他的10和4,得到推理的過程:

10–5--2;4–2;

規律就是每次都除以2:

然後,當兩者相等的時候,就直接輸出即可;

**如下:

#include

using

namespace std;

intmain()

else

if(a < b)

else

}return0;

}

1758 二叉樹 3 6資料結構之二叉樹

總時間限制 1000ms 記憶體限制 65536kb 描述 如上圖所示,由正整數1,2,3,組成了一棵無限大的二叉樹。從某乙個結點到根結點 編號是1的結點 都有一條唯一的路徑,比如從10到根結點的路徑是 10,5,2,1 從4到根結點的路徑是 4,2,1 從根結點1到根結點的路徑上只包含乙個結點1,...

資料結構之二叉樹

在二叉樹中每個節點最多只能有兩個子節點。即左子節點和有子節點。在二叉樹中最重要的操作應當是遍歷。即按照某一順序訪問二叉樹中的每乙個節點。一般有如下幾種遍歷方法 1 前序遍歷,即先訪問根幾點,然後再訪問左子節點,最後訪問右子節點。2 中序遍歷,即先訪問左子節點,然後再訪問根節點,最後訪問右子節點。3 ...

資料結構之二叉樹

定義 滿足以下條件的就是樹 1.有且僅有乙個特定的稱為根root的結點。2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...