From 44adf9d35e7e1b8075514b716e95c0fed6bdbe52 Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Sat, 9 Jan 2021 16:19:28 +0200 Subject: added sem 14 --- Sem. 14/task3.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Sem. 14/task3.cpp (limited to 'Sem. 14/task3.cpp') 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 +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; +} -- cgit v1.3.1-23-gd82d