void Turtle::walk(int depth) { if (depth > 1) { walk(depth - 1); walk(depth - 1); turn(-60); timeTravel(); print(); } else if (depth == 1) { turn(60); timeTravel(); print(); } }
void Transfairs::calcTempPassagem_DFS() { vector<Service> temp = percurso_DFS; Time horaChegada = getEarlierArriveTime(); size_t nServ = temp.size() - 1; Service oriTemp = temp[nServ]; oriTemp.setHPassagem(horaChegada); temp[nServ] = oriTemp; for (; nServ > 0; nServ--) { Service oriTemp = temp[nServ-1]; Service destTemp = temp[nServ]; int duracao = grafoInicial.edgeCost(oriTemp.getServId()-1,destTemp.getServId()-1); Time timeTravel(duracao/60,duracao%60); Time horaPassagem = destTemp.getHPassagem()-timeTravel; oriTemp.setHPassagem(horaPassagem); temp[nServ-1] = oriTemp; } percurso_DFS = temp; }