苹果树
来源:互联网 发布:淘宝网天猫盘扣羽绒服 编辑:程序博客网 时间:2024/04/29 23:50
问题:有一颗苹果树,以二叉树存储,给出他的两点之间的边和每个苹果的重量,给出的重量为1,默认的为0,从任何节点找到最大的重量和?
算法:
public class PingGuoShu {
static int max = 0;
public static void main(String[] args) {
int[] value1 = { 2, 3, 4 };
int[][] data1 = {{1,2},
{1, 3},
{1, 4}
};
int n = 4;
int[] value = new int[n + 1];
for(int i = 0; i < value1.length; i++){
value[value1[i]] = 1;
}
int[] data = new int[n + 1];
for(int i = 0; i < data1.length; i ++){
data[data1[i][1]] = data1[i][0];
}
int[] vis = new int[n + 1];
for(int i = 1; i <= n; i++){
vis[i] = 1; find(data, i, value[i], vis, value); vis[i] = 0; System.out.println(max); }}private static void find(int[] data, int i, int num, int[] vis, int[] value) { max = max > num ? max : num; for(int j = 0; j < data.length; j++){ if(data[j] == i && vis[j] == 0){ vis[j] = 1; find(data, j, num + value[j], vis, value); vis[j] = 0; } } if(vis[data[i]] == 0 && data[i] != 0){ vis[data[i]] = 1; find(data, data[i], num + value[data[i]], vis, value); vis[data[i]] = 0; }}
}
0 0
- 苹果树
- 苹果树
- 苹果树
- 苹果树
- 苹果树下
- 二叉苹果树
- bzoj3757: 苹果树
- Codevs 苹果树
- [bzoj3757]苹果树
- BZOJ3757: 苹果树
- 【bzoj3757】 苹果树
- 二叉苹果树
- Codevs1228苹果树
- 二叉苹果树
- 永远成长的苹果树
- 英文哲理短文《苹果树》
- URAL_1018之二叉苹果树
- ural 1018 二叉苹果树
- ARM7 LPC2378 远程升级----软中断SWI
- VS2012下配置opencv 及相关问题
- listview的一些属性
- 黄聪:CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
- Maven Web项目的创建和使用
- 苹果树
- TextView等类似控件的富文本展示
- 微信APP支付,后台回调
- 批量文件编码转换(GBK/UTF-8/UNICODE etc)
- 自动创建UI测试文件
- Spring MVC 4.2 增加 CORS 支持
- linux 添加用户、权限
- excel表格文件如何转换成PDF格式
- 百度百科——BSS段