Website Summary Files Commits Branches @commit @diff @stats
path: root / Week05 / Exercise12.cpp
diff options
context:
space:
mode:
1 files changed, 26 insertions, 0 deletions
-rw-r--r--Week05/Exercise12.cpp26
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;
+}