summaryrefslogtreecommitdiff
path: root/2022/Cpp/Day7/youssef.cpp
diff options
context:
space:
mode:
Diffstat (limited to '2022/Cpp/Day7/youssef.cpp')
-rwxr-xr-x2022/Cpp/Day7/youssef.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/2022/Cpp/Day7/youssef.cpp b/2022/Cpp/Day7/youssef.cpp
new file mode 100755
index 0000000..70daea0
--- /dev/null
+++ b/2022/Cpp/Day7/youssef.cpp
@@ -0,0 +1,51 @@
+#include <bits/stdc++.h>
+
+using namespace std;
+
+class Dir {
+private:
+ string name;
+ vector<Dir *> dir_list;
+ unsigned int size;
+ bool is_file;
+
+public:
+ Dir(string _name, unsigned int _size = 0) {
+ this->name = _name;
+ this->size = _size;
+
+ this->is_file = true;
+ if (_size == 0) {
+ this->is_file = false;
+ }
+ }
+
+ void add(Dir *dir) {
+ dir_list.emplace_back(dir);
+ }
+};
+
+class FileSystem {
+private:
+ Dir root_dir;
+ map<string, Dir> map_dir;
+
+public:
+ void add_to_dir(string path, Dir* dir) {
+ map_dir[path].add(dir);
+ }
+
+ void create_dir(string path, Dir dir) {
+ if (!map_dir.count(path)) {
+ map_dir[path] = dir;
+ }
+ }
+};
+
+void read_input() {
+ string cur_dir = "";
+}
+
+int main() {
+ return 0;
+}