diff options
feat(Week05): Add exercises and solutions
1 files changed, 26 insertions, 0 deletions
| -rw-r--r-- | Week05/Exercise12.cpp | 26 |
diff --git a/Week05/Exercise12.cpp b/Week05/Exercise12.cpp new file mode 100644 index 0000000..eac5f08 --- /dev/null +++ b/Week05/Exercise12.cpp @@ -0,0 +1,26 @@ +#include <iostream> + +int main() { + const unsigned int SIZE = 20; + + unsigned short indecies[SIZE]; + bool visited[SIZE]; + for (unsigned int i = 0; i < SIZE; i++) { + std::cin >> indecies[i]; + visited[i] = false; + } + + unsigned int current_index = 0, jumps = 0; + while (current_index != SIZE - 1 && !visited[current_index]) { + visited[current_index] = true; + current_index = indecies[current_index]; + jumps++; + } + + if (current_index != SIZE - 1) + std::cout << "Infinity" << std::endl; + else + std::cout << jumps << std::endl; + + return 0; +} |
