假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的节点数相同,石头只可以在子节点和父节点之间进行搬运,每次只能搬运一颗石头。请问如何以最少的步骤将石头搬运均匀,使得每个节
来源:互联网 发布:java socket传输图片 编辑:程序博客网 时间:2024/03/29 20:32
假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的
int moveStone(TNode* root, int& stone) {if (!root) {return 0;}int leftStone = 0, rightStone = 0;if (root->left) {//左子树需要移动次数,也就是当前结点会增加的石数leftStone = moveStone(root->left, stone);}if (root->right) {rightStone = moveStone(root->right, stone);}//超出本身1颗石子外的都需要移动stone += abs(leftStone + rightStone + root->data - 1);return leftStone + rightStone + root->data - 1;}
节点数相同,石头只可以在子节点和父节点之间进行搬运,每次只能搬运一颗石头。请问如何以最少的步骤将石头搬运均匀,使得每个节点上的石头上刚好为1。
1 0
- 假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的节点数相同,石头只可以在子节点和父节点之间进行搬运,每次只能搬运一颗石头。请问如何以最少的步骤将石头搬运均匀,使得每个节
- 【atcoder 10】【博弈论+树形dp】【对一棵树每次从棋子所在节点移走一个石头,将棋子移到与当前节点相邻的节点】
- 二叉树移动石头
- 二叉树移动石头
- 石头
- 疯狂的石头经典台词
- 《疯狂的石头》经典对白
- 疯狂的石头经典台词
- 疯狂的石头
- 送给我的石头
- 云水谣 疯狂的石头
- 《疯狂的石头》介绍
- 栓牛的石头
- 《疯狂的石头》观后感
- 一块石头的价值
- 多彩的石头
- 取石头的问题
- 扔石头的小男孩
- Codefoces 735D Taxes(数学 哥德巴赫猜想)
- 高德地图自定义marker的图片定位的问题
- objc - 编译Runtime源码objc4-706
- CDH-5.XX 离线安装及升级步骤及安装过程常见错误
- Redis常见集群方案、Codis实践及与Twemproxy比较
- 假设有一颗二叉树,已知这棵树的节点上不均匀的分布了若干石头,石头数跟这棵二叉树的节点数相同,石头只可以在子节点和父节点之间进行搬运,每次只能搬运一颗石头。请问如何以最少的步骤将石头搬运均匀,使得每个节
- 黄金连分数
- Android 获得设备状态信息、Mac地址、IP地址
- 170114
- python 2-4 如何根据字典中K/V排序 sorted(d.items(),key=lambda item:item[1],reverse=True)
- CoreData-探路篇
- 学习笔记——多态
- 地址栏中“&”截断的问题
- [后缀数组]poj2774 Long Long Message