aboutsummaryrefslogtreecommitdiff
path: root/recursionTest.cpp
diff options
context:
space:
mode:
authorOmar Magdy <omar.professional8777@gmail.com>2022-05-30 00:18:17 +0200
committerOmar Magdy <omar.professional8777@gmail.com>2022-05-30 00:18:17 +0200
commit3a89fc707253f75f46fd5a4822817f1fd5156c40 (patch)
tree474b08b187895af91c10838aae21142b2ba2514d /recursionTest.cpp
parentf5ff62a26052f084b6b807cba220c86785fd45e3 (diff)
downloadcompetitive-programming-3a89fc707253f75f46fd5a4822817f1fd5156c40.tar.xz
competitive-programming-3a89fc707253f75f46fd5a4822817f1fd5156c40.zip
Made that every problem is its own folder to make building the code a smooth operation with a shortcut
Diffstat (limited to 'recursionTest.cpp')
-rw-r--r--recursionTest.cpp51
1 files changed, 0 insertions, 51 deletions
diff --git a/recursionTest.cpp b/recursionTest.cpp
deleted file mode 100644
index 91e9db8..0000000
--- a/recursionTest.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <algorithm>
-#include<bits/stdc++.h>
-
-using namespace std;
-
-string ans;
-
-bool solve(vector<int> v,int idx, int target, int sum, string opts) {
- if(idx == v.size() - 1) {
- if(sum == target){
- ans = opts;
- return true;
- }
- return false;
- }
- else {
- int nxt = idx + 1;
- bool plus = solve(v, nxt, target, sum + v[nxt],opts + "+");
- bool minus = solve(v, nxt, target, sum - v[nxt], opts + "-");
- bool mult = solve(v, nxt, target, sum * v[nxt], opts + "*");
- bool div = solve(v, nxt, target, sum / v[nxt], opts + "/");
- return plus || minus || mult || div;
- }
-
-}
-
-int main() {
- int n, target;
- cin >> n >> target;
- vector<int> v(n);
- string opts = "";
- for(int &x : v) {
- cin >> x;
- }
- sort(v.begin(), v.end());
- do {
- if(solve(v, 0, target, v[0], opts)) {
- for(int i = 0; i < v.size(); i++) {
- if (i == v.size() - 1) {
- cout << v[i];
- }
- else {
- cout << v[i] << " " << ans[i] << " ";
- }
- }
- cout << '\n';
- }
- } while(next_permutation(v.begin(), v.end()));
-
- return 0;
-}