Пример #1
0
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();
    }
}
Пример #2
0
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;

}