zoukankan      html  css  js  c++  java
  • T2题解

    T2 rab

    首先对于一个点 x , 如果他的儿子中红色的节点多于蓝色的节点那他一定最后是红色胜利,
    反之,如果蓝色多于红色那就是蓝色胜利。如果红色与蓝色一样多那就是平局也就是先手胜(谁先选谁就胜)
    就这么一直递推,推到根就得到了第一问的答案。
    考虑第二问。
    设一个函数redWin(x) 表示在x的子树中选出那些可以让x最后为红胜的叶子节点。
    firstWin(x) 表示在x的子树中选出那些可以让x从蓝胜变成先手胜的叶子结点。

    redWin(x)
    如果x本来就是红胜 , 则选x的所有叶子节点
    遍历所有的儿子 v
    如果v是平局 ,那就取v的红胜
    如果v是蓝胜,那就取v的先手胜

    firstWin(x)
    判断是否可行
    1、平局的儿子数要是偶数,不然没有办法平局
    2、蓝色只比红色多一个。

    遍历所有的儿子 v
    如果v是平局 ,那就取v的红胜
    如果v是蓝胜,那就取v的先手胜

  • 相关阅读:
    paramiko
    Oracle 正则
    格式化输出
    pl/sql
    logging-----日志模块
    linux学习笔记01
    PHP-HTML-MYSQL表格添加删除
    费了好大劲做的比较好看的表单
    HTML框架
    两天笔记
  • 原文地址:https://www.cnblogs.com/R-Q-R-Q/p/12262408.html
Copyright © 2011-2022 走看看