1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-26 02:00:27 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/二叉树着色游戏 [binary-tree-coloring-game].html

45 lines
2.3 KiB
HTML
Raw Normal View History

2022-03-27 20:37:52 +08:00
<p>有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点&nbsp;<code>root</code>,树上总共有 <code>n</code> 个节点,且 <code>n</code> 为奇数,其中每个节点上的值从&nbsp;<code>1</code>&nbsp;<code>n</code>&nbsp;各不相同。</p>
<p>&nbsp;</p>
<p>游戏从「一号」玩家开始(「一号」玩家为红色,「二号」玩家为蓝色),最开始时,</p>
<p>「一号」玩家从 <code>[1, n]</code>&nbsp;中取一个值&nbsp;<code>x</code><code>1 &lt;= x &lt;= n</code></p>
<p>「二号」玩家也从&nbsp;<code>[1, n]</code>&nbsp;中取一个值&nbsp;<code>y</code><code>1 &lt;= y &lt;= n</code>)且&nbsp;<code>y != x</code></p>
<p>「一号」玩家给值为&nbsp;<code>x</code>&nbsp;的节点染上红色,而「二号」玩家给值为&nbsp;<code>y</code>&nbsp;的节点染上蓝色。</p>
<p>&nbsp;</p>
<p>之后两位玩家轮流进行操作,每一回合,玩家选择一个他之前涂好颜色的节点,将所选节点一个 <strong>未着色 </strong>的邻节点(即左右子节点、或父节点)进行染色。</p>
<p>如果当前玩家无法找到这样的节点来染色时,他的回合就会被跳过。</p>
<p>若两个玩家都没有可以染色的节点时,游戏结束。着色节点最多的那位玩家获得胜利 ✌️。</p>
<p>&nbsp;</p>
<p>现在,假设你是「二号」玩家,根据所给出的输入,假如存在一个&nbsp;<code>y</code>&nbsp;值可以确保你赢得这场游戏,则返回&nbsp;<code>true</code>;若无法获胜,就请返回 <code>false</code></p>
<p>&nbsp;</p>
<p><strong>示例:</strong></p>
<p><strong><img alt="" src="https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2019/08/04/1480-binary-tree-coloring-game.png" style="height: 186px; width: 300px;"></strong></p>
<pre><strong>输入:</strong>root = [1,2,3,4,5,6,7,8,9,10,11], n = 11, x = 3
<strong>输出:</strong>True
<strong>解释:</strong>第二个玩家可以选择值为 2 的节点。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li>二叉树的根节点为&nbsp;<code>root</code>,树上由 <code>n</code> 个节点,节点上的值从 <code>1</code><code>n</code> 各不相同。</li>
<li><code>n</code> 为奇数。</li>
<li><code>1 &lt;= x &lt;= n&nbsp;&lt;= 100</code></li>
</ul>