aboutsummaryrefslogtreecommitdiff
path: root/codeforces
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2023-12-10 15:55:42 +0200
committeromagdy7 <omar.professional8777@gmail.com>2023-12-10 15:55:42 +0200
commit1ccba7112b334c0887bd349966219b38eb9ccfb9 (patch)
tree07be3a04f8bb90569025d2b3a89d48d373333566 /codeforces
parentbeb36b3d4f757bd5ecb9746265926c9f8830b0ab (diff)
downloadcompetitive-programming-1ccba7112b334c0887bd349966219b38eb9ccfb9.tar.xz
competitive-programming-1ccba7112b334c0887bd349966219b38eb9ccfb9.zip
Removed some empty problems and solved 2 problems in rust
Diffstat (limited to 'codeforces')
-rw-r--r--codeforces/BinaryImbalance/main.rs41
-rw-r--r--codeforces/BinaryImbalance/main_input0.txt7
-rw-r--r--codeforces/BinaryImbalance/main_output0.txt3
-rw-r--r--codeforces/BinaryImbalance/rust-project.json11
-rw-r--r--codeforces/Rook/main.cpp0
-rw-r--r--codeforces/Rook/main.rs50
-rw-r--r--codeforces/Rook/main_input0.txt2
-rw-r--r--codeforces/Rook/main_output0.txt14
-rw-r--r--codeforces/Rook/rust-project.json11
-rwxr-xr-xcodeforces/TaisaAndDice/main.cpp82
-rw-r--r--codeforces/YetAnotherBrokenKeoard/main.rs59
-rw-r--r--codeforces/YetAnotherBrokenKeoard/main_input0.txt13
-rw-r--r--codeforces/YetAnotherBrokenKeoard/main_output0.txt12
-rw-r--r--codeforces/YetAnotherBrokenKeoard/rust-project.json11
14 files changed, 274 insertions, 42 deletions
diff --git a/codeforces/BinaryImbalance/main.rs b/codeforces/BinaryImbalance/main.rs
new file mode 100644
index 0000000..e73ae3e
--- /dev/null
+++ b/codeforces/BinaryImbalance/main.rs
@@ -0,0 +1,41 @@
+#[allow(dead_code)]
+fn read<T: std::str::FromStr>() -> T {
+ let mut s = String::new();
+ std::io::stdin().read_line(&mut s).ok();
+ s.trim().parse().ok().unwrap()
+}
+
+#[allow(dead_code)]
+fn read_vec<T: std::str::FromStr>() -> Vec<T> {
+ read::<String>()
+ .split_whitespace()
+ .map(|e| e.parse().ok().unwrap())
+ .collect()
+}
+
+#[allow(dead_code)]
+fn read_mat<T: std::str::FromStr>(n: u32) -> Vec<Vec<T>> {
+ (0..n).map(|_| read_vec()).collect()
+}
+
+fn main() {
+ let mut tt = read::<u64>();
+ while tt > 0 {
+ let _ = read::<u64>();
+ let s = read::<String>();
+
+ let ones = s.chars().filter(|&ch| ch == '1').count();
+ let zrs = s.chars().filter(|&ch| ch == '0').count();
+
+ if zrs > ones {
+ println!("YES");
+ } else {
+ if s.contains("01") || s.contains("10") {
+ println!("YES");
+ } else {
+ println!("NO")
+ }
+ }
+ tt -= 1;
+ }
+}
diff --git a/codeforces/BinaryImbalance/main_input0.txt b/codeforces/BinaryImbalance/main_input0.txt
new file mode 100644
index 0000000..3848976
--- /dev/null
+++ b/codeforces/BinaryImbalance/main_input0.txt
@@ -0,0 +1,7 @@
+3
+2
+00
+2
+11
+2
+10
diff --git a/codeforces/BinaryImbalance/main_output0.txt b/codeforces/BinaryImbalance/main_output0.txt
new file mode 100644
index 0000000..0db7433
--- /dev/null
+++ b/codeforces/BinaryImbalance/main_output0.txt
@@ -0,0 +1,3 @@
+YES
+NO
+YES
diff --git a/codeforces/BinaryImbalance/rust-project.json b/codeforces/BinaryImbalance/rust-project.json
new file mode 100644
index 0000000..a195582
--- /dev/null
+++ b/codeforces/BinaryImbalance/rust-project.json
@@ -0,0 +1,11 @@
+{
+ "sysroot": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu",
+ "sysroot_src": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/",
+ "crates": [
+ {
+ "root_module": "main.rs",
+ "edition": "2021",
+ "deps": []
+ }
+ ]
+}
diff --git a/codeforces/Rook/main.cpp b/codeforces/Rook/main.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/codeforces/Rook/main.cpp
diff --git a/codeforces/Rook/main.rs b/codeforces/Rook/main.rs
new file mode 100644
index 0000000..49953f1
--- /dev/null
+++ b/codeforces/Rook/main.rs
@@ -0,0 +1,50 @@
+#[allow(dead_code)]
+fn read<T: std::str::FromStr>() -> T {
+ let mut s = String::new();
+ std::io::stdin().read_line(&mut s).ok();
+ s.trim().parse().ok().unwrap()
+}
+
+#[allow(dead_code)]
+fn read_vec<T: std::str::FromStr>() -> Vec<T> {
+ read::<String>()
+ .split_whitespace()
+ .map(|e| e.parse().ok().unwrap())
+ .collect()
+}
+
+#[allow(dead_code)]
+fn read_mat<T: std::str::FromStr>(n: u32) -> Vec<Vec<T>> {
+ (0..n).map(|_| read_vec()).collect()
+}
+
+fn solve() {
+ let pos = read::<String>();
+ let bytes = pos.as_bytes();
+ let (x, y) = (bytes[0], bytes[1]);
+ for i in 0..8 {
+ let out = format!("{}{}", (i + 'a' as u8) as char, y as char);
+ if (out == pos.to_string()) {
+ continue;
+ }
+ println!("{}", format!("{}{}", (i + 'a' as u8) as char, y as char));
+ }
+ for j in 0..8 {
+ let out = format!("{}{}", x as char, (j + 1 + '0' as u8) as char);
+ if (out == pos.to_string()) {
+ continue;
+ }
+ println!(
+ "{}",
+ format!("{}{}", x as char, (j + 1 + '0' as u8) as char)
+ );
+ }
+}
+
+fn main() {
+ let mut tt = read::<u64>();
+ while tt > 0 {
+ solve();
+ tt -= 1;
+ }
+}
diff --git a/codeforces/Rook/main_input0.txt b/codeforces/Rook/main_input0.txt
new file mode 100644
index 0000000..77b57b0
--- /dev/null
+++ b/codeforces/Rook/main_input0.txt
@@ -0,0 +1,2 @@
+1
+d5
diff --git a/codeforces/Rook/main_output0.txt b/codeforces/Rook/main_output0.txt
new file mode 100644
index 0000000..955342d
--- /dev/null
+++ b/codeforces/Rook/main_output0.txt
@@ -0,0 +1,14 @@
+d1
+d2
+b5
+g5
+h5
+d3
+e5
+f5
+d8
+a5
+d6
+d7
+c5
+d4
diff --git a/codeforces/Rook/rust-project.json b/codeforces/Rook/rust-project.json
new file mode 100644
index 0000000..a195582
--- /dev/null
+++ b/codeforces/Rook/rust-project.json
@@ -0,0 +1,11 @@
+{
+ "sysroot": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu",
+ "sysroot_src": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/",
+ "crates": [
+ {
+ "root_module": "main.rs",
+ "edition": "2021",
+ "deps": []
+ }
+ ]
+}
diff --git a/codeforces/TaisaAndDice/main.cpp b/codeforces/TaisaAndDice/main.cpp
index 998f379..924e0df 100755
--- a/codeforces/TaisaAndDice/main.cpp
+++ b/codeforces/TaisaAndDice/main.cpp
@@ -1,4 +1,4 @@
-#include<bits/stdc++.h>
+#include <bits/stdc++.h>
using namespace std;
using ll = long long;
@@ -10,12 +10,14 @@ using mpii = map<int, int>;
using mpll = map<ll, ll>;
using db = long double;
-#define pb push_back
+#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define lb lower_bound
#define ub upper_bound
-#define make_unique(x) sort(all((x))); (x).resize(unique(all((x))) - (x).begin())
+#define make_unique(x) \
+ sort(all((x))); \
+ (x).resize(unique(all((x))) - (x).begin())
#define ceil(a, b) ((a) + (b) - 1) / (b))
const int MOD = (int)1e9 + 7;
@@ -23,57 +25,60 @@ const db PI = acos((db)-1);
const int dx[4]{1, 0, -1, 0};
const int dy[4]{0, 1, 0, -1};
-template<typename K, typename V> ostream& operator<<(ostream& os, const pair<K, V>& p);
-template<typename T> ostream& operator<<(ostream& os, const vector<T>& vec);
-template<typename K, typename V> ostream& operator<<(ostream& os, const map<K, V>& m);
-template<typename K, typename V> ostream& operator<<(ostream& os, const unordered_map<K, V>& m);
-template<typename T> ostream& operator<<(ostream& os, const set<T>& s);
-template<typename T> ostream& operator<<(ostream& os, const unordered_set<T>& s);
-
-template<typename K, typename V>
-ostream& operator<<(ostream& os, const pair<K, V>& p) {
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const pair<K, V> &p);
+template <typename T> ostream &operator<<(ostream &os, const vector<T> &vec);
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const map<K, V> &m);
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const unordered_map<K, V> &m);
+template <typename T> ostream &operator<<(ostream &os, const set<T> &s);
+template <typename T>
+ostream &operator<<(ostream &os, const unordered_set<T> &s);
+
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const pair<K, V> &p) {
os << "(" << p.first << ", " << p.second << ")";
return os;
}
-template<typename T>
-ostream& operator<<(ostream& os, const vector<T>& vec) {
+template <typename T> ostream &operator<<(ostream &os, const vector<T> &vec) {
os << "{";
for (size_t i = 0; i < vec.size(); ++i) {
- if (i > 0) os << ", ";
+ if (i > 0)
+ os << ", ";
os << vec[i];
}
os << "}";
return os;
}
-
-template<typename K, typename V>
-ostream& operator<<(ostream& os, const map<K, V>& m) {
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const map<K, V> &m) {
os << "{";
- for (const auto& p : m) {
+ for (const auto &p : m) {
os << p.first << ": " << p.second << ", ";
}
os << "}";
return os;
}
-template<typename K, typename V>
-ostream& operator<<(ostream& os, const unordered_map<K, V>& m) {
+template <typename K, typename V>
+ostream &operator<<(ostream &os, const unordered_map<K, V> &m) {
os << "{";
- for (const auto& p : m) {
+ for (const auto &p : m) {
os << p.first << ": " << p.second << ", ";
}
os << "}";
return os;
}
-template<typename T>
-ostream& operator<<(ostream& os, const set<T>& s) {
+template <typename T> ostream &operator<<(ostream &os, const set<T> &s) {
int i = 0;
os << "{";
- for (const auto& e : s) {
- if (i > 0) os << ", ";
+ for (const auto &e : s) {
+ if (i > 0)
+ os << ", ";
os << e;
i++;
}
@@ -81,12 +86,13 @@ ostream& operator<<(ostream& os, const set<T>& s) {
return os;
}
-template<typename T>
-ostream& operator<<(ostream& os, const unordered_set<T>& s) {
+template <typename T>
+ostream &operator<<(ostream &os, const unordered_set<T> &s) {
int i = 0;
os << "{";
- for (const auto& e : s) {
- if (i > 0) os << ", ";
+ for (const auto &e : s) {
+ if (i > 0)
+ os << ", ";
os << e;
i++;
}
@@ -94,18 +100,13 @@ ostream& operator<<(ostream& os, const unordered_set<T>& s) {
return os;
}
-void print() {
- cerr << "\n";
-}
+void print() { cerr << "\n"; }
-template<typename T, typename... TS>
-void print(T val, TS... vals) {
+template <typename T, typename... TS> void print(T val, TS... vals) {
cerr << val << " ";
print(vals...);
}
-
-
/* stuff you should look for:
---------------------------
* special cases (n=1?)
@@ -115,7 +116,6 @@ void print(T val, TS... vals) {
* DON'T GET STUCK ON ONE APPROACH
*/
-
void solve() {
int n, s, r;
cin >> n >> s >> r;
@@ -132,14 +132,12 @@ void solve() {
cout << last << '\n';
}
-int main () {
+int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int tt;
cin >> tt;
- while(tt--) {
+ while (tt--) {
solve();
}
}
-
-
diff --git a/codeforces/YetAnotherBrokenKeoard/main.rs b/codeforces/YetAnotherBrokenKeoard/main.rs
new file mode 100644
index 0000000..e39fbd5
--- /dev/null
+++ b/codeforces/YetAnotherBrokenKeoard/main.rs
@@ -0,0 +1,59 @@
+#[allow(dead_code)]
+fn read<T: std::str::FromStr>() -> T {
+ let mut s = String::new();
+ std::io::stdin().read_line(&mut s).ok();
+ s.trim().parse().ok().unwrap()
+}
+
+#[allow(dead_code)]
+fn read_vec<T: std::str::FromStr>() -> Vec<T> {
+ read::<String>()
+ .split_whitespace()
+ .map(|e| e.parse().ok().unwrap())
+ .collect()
+}
+
+#[allow(dead_code)]
+fn read_mat<T: std::str::FromStr>(n: u32) -> Vec<Vec<T>> {
+ (0..n).map(|_| read_vec()).collect()
+}
+
+fn solve() {
+ let inp = read::<String>();
+ let s = inp.as_bytes();
+ let mut marks = vec![true; s.len()];
+ let mut rmost_l = vec![s.iter().position(|&x| x.is_ascii_lowercase()).unwrap_or(0)];
+ let mut rmost_h = vec![s.iter().position(|&x| x.is_ascii_uppercase()).unwrap_or(0)];
+ for (i, &c) in s.iter().enumerate() {
+ match c as char {
+ 'b' => {
+ marks[i] = false;
+ marks[rmost_l.pop().unwrap_or(i)] = false;
+ }
+ 'B' => {
+ marks[i] = false;
+ marks[rmost_h.pop().unwrap_or(i)] = false;
+ }
+ _ => {}
+ };
+ if c.is_ascii_uppercase() && c != 'B' as u8 {
+ rmost_h.push(i);
+ } else if c.is_ascii_lowercase() && c != 'b' as u8 {
+ rmost_l.push(i);
+ }
+ }
+ let ans = s
+ .iter()
+ .zip(marks.iter())
+ .filter_map(|(&x, include)| include.then_some(x as char))
+ .collect::<String>();
+ println!("{}", ans)
+}
+
+fn main() {
+ let mut tt = read::<u64>();
+ while tt > 0 {
+ solve();
+ tt -= 1;
+ }
+}
diff --git a/codeforces/YetAnotherBrokenKeoard/main_input0.txt b/codeforces/YetAnotherBrokenKeoard/main_input0.txt
new file mode 100644
index 0000000..104142d
--- /dev/null
+++ b/codeforces/YetAnotherBrokenKeoard/main_input0.txt
@@ -0,0 +1,13 @@
+12
+ARaBbbitBaby
+YetAnotherBrokenKeyboard
+Bubble
+Improbable
+abbreviable
+BbBB
+BusyasaBeeinaBedofBloomingBlossoms
+CoDEBARbIES
+codeforces
+bobebobbes
+b
+TheBBlackbboard
diff --git a/codeforces/YetAnotherBrokenKeoard/main_output0.txt b/codeforces/YetAnotherBrokenKeoard/main_output0.txt
new file mode 100644
index 0000000..5d42696
--- /dev/null
+++ b/codeforces/YetAnotherBrokenKeoard/main_output0.txt
@@ -0,0 +1,12 @@
+ity
+YetnotherrokenKeoard
+le
+Imprle
+revile
+
+usyasaeeinaedofloominglossoms
+CDARIES
+codeforces
+es
+
+helaoard
diff --git a/codeforces/YetAnotherBrokenKeoard/rust-project.json b/codeforces/YetAnotherBrokenKeoard/rust-project.json
new file mode 100644
index 0000000..a195582
--- /dev/null
+++ b/codeforces/YetAnotherBrokenKeoard/rust-project.json
@@ -0,0 +1,11 @@
+{
+ "sysroot": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu",
+ "sysroot_src": "/home/omar/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/",
+ "crates": [
+ {
+ "root_module": "main.rs",
+ "edition": "2021",
+ "deps": []
+ }
+ ]
+}