Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

// Info - Serie 11 - Challange // Programm: MarjanovicPetar.cpp // Autor: Petar Marjanovic #include #include void b (const unsigned int i); void f (const unsigned int i) { if (i == 0) ifm::forward(); else { f(i-1); f(i-1); b(i-1); ifm::left(45); ifm::save(); // speichert position ifm::left(45); f(i-1); ifm::right(45); f(i-1); ifm::right(45); f(i-1); ifm::restore(); // laedt gespeicherte position ifm::right(45); ifm::save(); ifm::right(45); f(i-1); ifm::left(45); f(i-1); ifm::left(45); f(i-1); ifm::restore(); } } void b (const unsigned int i) { if (i == 0) ifm::forward(); else { b(i-1); b(i-1); f(i-1); ifm::right(45); ifm::save(); ifm::right(45); b(i-1); ifm::left(45); b(i-1); ifm::left(45); b(i-1); ifm::restore(); ifm::left(45); ifm::save(); ifm::left(45); ifm::right(45); ifm::right(45); ifm::restore(); } } int first () { // std::cout << "Number of iterations =? "; unsigned int n=5 ; // std::cin >> n; ifm::save(); f(n); // w_n^F ifm::restore(); ifm::left(60); // loook up f(n); // w_n^F return 0; } int second () { // std::cout << "Number of iterations =? "; unsigned int n=5; // std::cin >> n; ifm::save(); ifm::left(120); f(n); return 0; } int second_last() { ifm::save(); first(); ifm::restore(); second(); return 0; } int main() { ifm::save(); second_last(); ifm::restore(); ifm::left(180); second_last(); return 0; }