import java.util.ArrayList;
public class DeerProblem {
//鹿群
ArrayList<Deer>deers;
//初始化鹿群,将一只年龄为0的鹿放入鹿群中
public DeerProblem(){
deers=new ArrayList<Deer>();
deers.add(new Deer(0));
}
public ArrayList<Deer> getDeers(int year){
//新的鹿群
ArrayList<Deer> newDeers;
for(int i=1;i<=year;i++){
newDeers=new ArrayList<Deer>();
for(Deer deer:deers){
//将旧鹿群中的每只鹿放入新鹿群中
newDeers.add(deer);
//遍历每只鹿,年龄+1
deer.setAge(deer.getAge()+1);
//大于3岁的鹿,添加一只新的小鹿到新鹿群中
if(deer.getAge()>3){
newDeers.add(new Deer(0));
}
}
//新鹿群赋给初始化的旧鹿群,
deers.clear();
deers=newDeers;
}
return deers;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DeerProblem deerPro=new DeerProblem();
System.out.println(deerPro.getDeers(10).size());
}
}
class Deer{
private int age;
public Deer(){
}
public Deer(int age){
this.age=age;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}