Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 14 / task3.cpp
diff options
context:
space:
mode:
Commit44adf9d35e7e1b8075514b716e95c0fed6bdbe52 (patch)
Author
 Angeld55 <angel_dimitriev@abv.bg>
2021-01-09 16:19:28 +0200
Committer
 Angeld55 <angel_dimitriev@abv.bg>
2021-01-09 16:19:28 +0200
Filesd27e89c56fe213e82e7c990167224ec10f74c541 /Sem. 14/task3.cpp
Introduction_to_programming_FMI-44adf9d35e7e1b8075514b716e95c0fed6bdbe52.tar
Introduction_to_programming_FMI-44adf9d35e7e1b8075514b716e95c0fed6bdbe52.tar.gz
Introduction_to_programming_FMI-44adf9d35e7e1b8075514b716e95c0fed6bdbe52.zip
Parenta69b56e59ae0e7862c75d0ee014029e56ff5298a (diff)
added sem 14
1 files changed, 35 insertions, 0 deletions
-rw-r--r--Sem. 14/task3.cpp35
diff --git a/Sem. 14/task3.cpp b/Sem. 14/task3.cpp
new file mode 100644
index 0000000..5df4d01
--- /dev/null
+++ b/Sem. 14/task3.cpp
@@ -0,0 +1,35 @@
+#include <iostream>
+using namespace std;
+
+bool checkIfPathExists(const int* field, bool* visited, int len, int pos)
+{
+ if (pos < 0 || pos >= len || visited[pos]) //out of bounds
+ return false;
+ if (pos == len - 1)
+ return true;
+
+ visited[pos] = true;
+
+ int value = field[pos];
+
+ return checkIfPathExists(field, visited, len, pos - value) || checkIfPathExists(field, visited, len, pos + value);
+
+}
+
+int main()
+{
+ int n;
+ cin >> n; //големината на масива.
+ int* field = new int[n];
+ bool* visited = new bool[n];
+
+ for (int i = 0; i < n; i++)
+ {
+ cin >> field[i];
+ visited[i] = false;
+ }
+
+ cout << checkIfPathExists(field, visited, n, 0);
+
+ delete[] field, visited;
+}