/**
*
*/
package com.mzl.tms;
import java.util.ArrayList;
import java.util.List;
/**
* @author mzl
*
*/
public class ChikenLookingFatherTest {
public static void main(String[] args) {
Chiken kichen_1 = ChikenMother.born("kichen_1");
Chiken kichen_2 = ChikenMother.born("kichen_2");
Chiken kichen_3 = ChikenMother.born("kichen_3");// chiken_3 is bad body
kichen_3.setBadMan(true);
Chiken kichen_4 = ChikenMother.born("kichen_4");
//kichen_4.setBadMan(true);
Chiken kichen_5 = ChikenMother.born("kichen_5");
kichen_4.setFather(kichen_2);
kichen_2.setFather(kichen_1);
kichen_1.setFather(kichen_3);
kichen_3.setFather(kichen_5);
// Chiken kichen = sort(kichen_4);
Chiken k = findGoodFather(kichen_4);
setGoodFather(k);
while (k != null) {
System.out.println(k.getName());
k = k.getFather();
}
}
public static Chiken sort(Chiken kichen){
List<Chiken> list = new ArrayList<Chiken>(5);
Chiken tmp = kichen;
while(tmp != null){
if(tmp.isBadMan()){
tmp = tmp.getFather() ;
}else{
Chiken c = tmp.getFather();
tmp.setFather(null);
list.add(tmp);
tmp = c;
}
}
int number = list.size();
if(number == 0){
return null;
}else if(number ==1){
return list.get(0);
}else if(number == 2){
list.get(0).setFather(list.get(1));
return list.get(0);
}else{
for(int i = 0 ; i< list.size() - 1 ; i++){
list.get(i).setFather(list.get(i+1));
}
return list.get(0);
}
}
/**
*
* @param chiKen
*/
public static void setGoodFather(Chiken chiKen){
Chiken father = chiKen.getFather();
if(father==null){
return ;
}
if(father.isBadMan()){
Chiken tmpFather = findGoodFather(chiKen);
chiKen.setFather(tmpFather);
if(tmpFather!=null)
setGoodFather(tmpFather);
}else{
setGoodFather(father);
}
}
/**
*
* @param chiKen
* @return
*/
public static Chiken findGoodFather(Chiken chiKen){
if(chiKen.getFather()!=null){
if(!chiKen.getFather().isBadMan()){
return chiKen.getFather();
}else{
return findGoodFather(chiKen.getFather());
}
}
return null;
}
}
分享到:
相关推荐
l2jwz项目组基于l2jserver以及l2jsunrise进行修改的 进入游戏有二次验证(config里面有单独的xml) 服务器管理员 多功能管理员 多功能2 测试服务器管理员 很新颖的布告栏系统(挺不错哦) ...更多可访问L2FATER.CN
根据标题和描述,我们知道本文讨论的是Faster-Than-Nyquist(FTN)系统的信道容量分析,以及FTN信号如何在有限输入字母表的约束下实现比正交脉冲线性调制更高的信道容量。FTN技术是一种超奈奎斯特技术。...
基础知识,理论及实践
适配天堂2六章开源L2JAcis409版本,支持布告栏(ALT+B)内使用兑换商品的功能 更多详细内容访问L2FATER.CN
主要介绍了L2JSERVER的各类使用教程 更多资源访问L2FATER.CN
天堂2四章客户端登陆器为血玫瑰天堂2开源中文交流社区L2FATER.CN制作,支持win10+win11中文显示,包含登入界面中文显示,支持游戏内输入简体中文
前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理,只是要实现这一...
同时,天堂2开源中文社区L2FATER.CN是一个宝贵的资源库,你可以在这里找到最新的版本更新、使用教程,以及与其他玩家交流心得。 总的来说,XdatEditor是一个强大的工具,它为天堂2玩家提供了一种直接与游戏核心数据...
3. Fater R-CNN模型的原理及其在小目标检测上的不足。 4. 对Faster R-CNN模型进行改进以提高小缺陷检测能力的具体方法。 5. 改进算法在实际应用中的有效性和实验结果。 6. 改进的Faster R-CNN模型对工业生产的意义。
DX 8/DX9至DX11包装器用于在dx11上启动任何天堂2客户端的修补程序修复故障和旧客户端错误
天堂2芙蕾雅章节血月版登入界面
《UE2004 仅5MB UTX修改工具详解》 UE2004(Unreal Engine 2004)是一款由Epic Games开发的游戏引擎,它为游戏开发者提供了强大的图形渲染、物理模拟以及网络功能。在游戏开发过程中,UTX(Unreal Texture Exchange...
- **第4题** “fater”应改为“fatter”。 - **第5题** “naugty”应改为“naughty”。 ### 七、连词成句 #### 题目示例: 1. you will kite your take _________? 2. the housework robots will do _________. 3....
百度网盘 下载 适用于天堂2-6章的l2j地图Geodata [如何安装地理数据] 1 - 打开地理数据文件夹 (\gameserver\data\) 2 - 在 \gameserver\data\geodata 中复制内容文件夹地理数据 3 - 在 \gameserver\data\pathnode...
【2025】L2JLisvus中文后台天堂2四章王者归来免导版一键服务端/单机端分享 春节就要到了,给大家一个新年礼物, 杀气丶这次准备了这个天堂2四章的免导版服务端 包含了服务端,客户端,登陆器
《1989-1999年美国数学建模竞赛特等奖论文》是一个珍贵的资源集合,包含了一段时期内美国数学建模竞赛(MCM/ICM)的优秀获奖论文。这些论文代表了数学建模领域的顶尖水平,展示了参赛者如何运用数学工具解决实际问题...
标题中的“普朗克辐射计算小工具可绘图附代码.zip”表明这是一个关于普朗克辐射定律的应用程序,其中包含了源代码和可视化功能。普朗克辐射定律是物理学中的一个基本概念,它描述了黑体在不同温度下辐射能量的分布...
《美国大学生数学建模竞赛——历年赛题解析与学习指南》 美国大学生数学建模竞赛(MCM/ICM)自1985年开始举办,是全球最具影响力的数学建模比赛之一,旨在鼓励大学生运用数学知识解决实际问题,提升其在数学、...