double Gene::get_fitness(){ len = time = 0.0; for(int i=0;i<REP_S;i++){ Snake s; Snake::mov_v v; do{ if(t_stack.empty()){ v = get_move(&s,t_tr); }else{ v = get_move(&s,t_stack.top()); t_stack.pop(); } //s.print_b(); }while(s.move(v)); len += (double)s.get_len(); time += (double)s.get_time(); } len /= (double)REP_S; time /= (double)REP_S; return pow(W_POW,time/(len-START_LEN+1.0)*W_TIME + len*W_LEN) + CON; }