aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmar Magdy <omar.professional8777@gmail.com>2022-05-04 20:02:33 +0200
committerOmar Magdy <omar.professional8777@gmail.com>2022-05-04 20:02:33 +0200
commit6d7b9aae2f3f6a83cf0517ae96f3258e7191ce56 (patch)
tree55c10509964b10bdda7ec763688d63bcc928ec2f
parent0cef0cea2289b14264c5bf1693966c3c8cc0ca00 (diff)
downloadcompetitive-programming-6d7b9aae2f3f6a83cf0517ae96f3258e7191ce56.tar.xz
competitive-programming-6d7b9aae2f3f6a83cf0517ae96f3258e7191ce56.zip
Solved some new problems
-rw-r--r--StringTask.cpp20
-rwxr-xr-xpython/StringTask.py14
-rw-r--r--recursionTest.cpp47
3 files changed, 81 insertions, 0 deletions
diff --git a/StringTask.cpp b/StringTask.cpp
new file mode 100644
index 0000000..74d4635
--- /dev/null
+++ b/StringTask.cpp
@@ -0,0 +1,20 @@
+#include <bits/stdc++.h>
+
+using namespace std;
+
+int main() {
+ ios::sync_with_stdio(false);
+ cin.tie(0);
+ string s;
+ cin >> s;
+ string vowels = "aeiouy";
+ set<char> st(vowels.begin(), vowels.end());
+ string ans = "";
+ for (char ch : s) {
+ if (!st.count(tolower(ch))) {
+ ans += "." + string(1, tolower(ch));
+ }
+ }
+ cout << ans << '\n';
+ return 0;
+}
diff --git a/python/StringTask.py b/python/StringTask.py
new file mode 100755
index 0000000..9723550
--- /dev/null
+++ b/python/StringTask.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python3
+
+s = input()
+ans = ""
+vowels = "aeouiy"
+
+for ch in s:
+ if ch.lower() in vowels:
+ s = s.replace(ch, "")
+for ch in s:
+ ans += "." + ch.lower()
+
+print(ans)
+
diff --git a/recursionTest.cpp b/recursionTest.cpp
new file mode 100644
index 0000000..ae3ab32
--- /dev/null
+++ b/recursionTest.cpp
@@ -0,0 +1,47 @@
+#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;
+ }
+ 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';
+ }
+
+ return 0;
+}