二分木は完全か?

与えられた二分木が完全かどうかを判定してください。
二分木が「完全」であるとは、最下層のノードができるだけ左から詰めて配置されており、それ以外のすべてのレベルが完全に埋まっている状態を指します。
以下に示した2つの木はいずれも完全二分木の例です。
notion image
notion image

入力

入力は、スペースで区切られた整数列として与えられます。これらは二分木の各ノードの値を表しており、ノードの列挙順は前述のとおり、左側の部分木から順に右側へとたどる形で示されます。値が 0 の場合、そのノードは存在しないことを意味します。与えられる二分木は有効であることが保証されています。

出力

もし二分木が完全ならば "Yes"、そうでなければ "No" を出力してください。

入力
出力
1 2 3 4 5 8 9 0 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 8 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0
No
1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
No

解説

  1. 例 1 は、最下層が左から詰めて配置されているため完全な二分木です。
    1. notion image
  1. 例 2 も、最下層が左から詰めて配置されているため完全な二分木です。
    1. notion image
  1. 例 3 は、最左端から順に埋まっていないため完全な二分木ではありません。
    1. notion image
  1. 例 4 は、やはり左から順に埋まっていないため完全な二分木ではありません。
    1. notion image
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue