diff --git a/2025.02.14/1Ex/Linux/Makefile b/2025.02.14/01Ex/Linux/Makefile similarity index 100% rename from 2025.02.14/1Ex/Linux/Makefile rename to 2025.02.14/01Ex/Linux/Makefile diff --git a/2025.02.14/1Ex/Linux/array.c b/2025.02.14/01Ex/Linux/array.c similarity index 100% rename from 2025.02.14/1Ex/Linux/array.c rename to 2025.02.14/01Ex/Linux/array.c diff --git a/2025.02.14/1Ex/Linux/array.h b/2025.02.14/01Ex/Linux/array.h similarity index 100% rename from 2025.02.14/1Ex/Linux/array.h rename to 2025.02.14/01Ex/Linux/array.h diff --git a/2025.02.14/1Ex/Linux/io_status.h b/2025.02.14/01Ex/Linux/io_status.h similarity index 100% rename from 2025.02.14/1Ex/Linux/io_status.h rename to 2025.02.14/01Ex/Linux/io_status.h diff --git a/2025.02.14/1Ex/Linux/main.c b/2025.02.14/01Ex/Linux/main.c similarity index 100% rename from 2025.02.14/1Ex/Linux/main.c rename to 2025.02.14/01Ex/Linux/main.c diff --git a/2025.02.14/1Ex/Makefile b/2025.02.14/01Ex/Makefile similarity index 100% rename from 2025.02.14/1Ex/Makefile rename to 2025.02.14/01Ex/Makefile diff --git a/2025.02.14/1Ex/array.c b/2025.02.14/01Ex/array.c similarity index 100% rename from 2025.02.14/1Ex/array.c rename to 2025.02.14/01Ex/array.c diff --git a/2025.02.14/1Ex/array.h b/2025.02.14/01Ex/array.h similarity index 100% rename from 2025.02.14/1Ex/array.h rename to 2025.02.14/01Ex/array.h diff --git a/2025.02.14/1Ex/io_status.h b/2025.02.14/01Ex/io_status.h similarity index 100% rename from 2025.02.14/1Ex/io_status.h rename to 2025.02.14/01Ex/io_status.h diff --git a/2025.02.14/1Ex/main.c b/2025.02.14/01Ex/main.c similarity index 100% rename from 2025.02.14/1Ex/main.c rename to 2025.02.14/01Ex/main.c diff --git a/2025.02.14/1Ex/o.txt b/2025.02.14/01Ex/o.txt similarity index 100% rename from 2025.02.14/1Ex/o.txt rename to 2025.02.14/01Ex/o.txt diff --git a/2025.02.14/1Ex/out.txt b/2025.02.14/01Ex/out.txt similarity index 100% rename from 2025.02.14/1Ex/out.txt rename to 2025.02.14/01Ex/out.txt diff --git a/2025.02.14/1Ex/t.txt b/2025.02.14/01Ex/t.txt similarity index 100% rename from 2025.02.14/1Ex/t.txt rename to 2025.02.14/01Ex/t.txt diff --git a/2025.02.14/1Ex/Примеры b/2025.02.14/01Ex/Примеры similarity index 100% rename from 2025.02.14/1Ex/Примеры rename to 2025.02.14/01Ex/Примеры diff --git a/2025.02.14/2Ex/Linux/Makefile b/2025.02.14/02Ex/Linux/Makefile similarity index 100% rename from 2025.02.14/2Ex/Linux/Makefile rename to 2025.02.14/02Ex/Linux/Makefile diff --git a/2025.02.14/2Ex/Linux/array.c b/2025.02.14/02Ex/Linux/array.c similarity index 100% rename from 2025.02.14/2Ex/Linux/array.c rename to 2025.02.14/02Ex/Linux/array.c diff --git a/2025.02.14/2Ex/Linux/array.h b/2025.02.14/02Ex/Linux/array.h similarity index 100% rename from 2025.02.14/2Ex/Linux/array.h rename to 2025.02.14/02Ex/Linux/array.h diff --git a/2025.02.14/2Ex/Linux/io_status.h b/2025.02.14/02Ex/Linux/io_status.h similarity index 100% rename from 2025.02.14/2Ex/Linux/io_status.h rename to 2025.02.14/02Ex/Linux/io_status.h diff --git a/2025.02.14/2Ex/Linux/main.c b/2025.02.14/02Ex/Linux/main.c similarity index 100% rename from 2025.02.14/2Ex/Linux/main.c rename to 2025.02.14/02Ex/Linux/main.c diff --git a/2025.02.14/2Ex/Makefile b/2025.02.14/02Ex/Makefile similarity index 100% rename from 2025.02.14/2Ex/Makefile rename to 2025.02.14/02Ex/Makefile diff --git a/2025.02.14/2Ex/array.c b/2025.02.14/02Ex/array.c similarity index 100% rename from 2025.02.14/2Ex/array.c rename to 2025.02.14/02Ex/array.c diff --git a/2025.02.14/2Ex/array.h b/2025.02.14/02Ex/array.h similarity index 100% rename from 2025.02.14/2Ex/array.h rename to 2025.02.14/02Ex/array.h diff --git a/2025.02.14/2Ex/io_status.h b/2025.02.14/02Ex/io_status.h similarity index 100% rename from 2025.02.14/2Ex/io_status.h rename to 2025.02.14/02Ex/io_status.h diff --git a/2025.02.14/2Ex/main.c b/2025.02.14/02Ex/main.c similarity index 100% rename from 2025.02.14/2Ex/main.c rename to 2025.02.14/02Ex/main.c diff --git a/2025.02.14/2Ex/o.txt b/2025.02.14/02Ex/o.txt similarity index 100% rename from 2025.02.14/2Ex/o.txt rename to 2025.02.14/02Ex/o.txt diff --git a/2025.02.14/2Ex/t.txt b/2025.02.14/02Ex/t.txt similarity index 100% rename from 2025.02.14/2Ex/t.txt rename to 2025.02.14/02Ex/t.txt diff --git a/2025.02.14/2Ex/Примеры b/2025.02.14/02Ex/Примеры similarity index 100% rename from 2025.02.14/2Ex/Примеры rename to 2025.02.14/02Ex/Примеры diff --git a/2025.02.14/3Ex/Linux/Makefile b/2025.02.14/03Ex/Linux/Makefile similarity index 100% rename from 2025.02.14/3Ex/Linux/Makefile rename to 2025.02.14/03Ex/Linux/Makefile diff --git a/2025.02.14/3Ex/Linux/array.c b/2025.02.14/03Ex/Linux/array.c similarity index 100% rename from 2025.02.14/3Ex/Linux/array.c rename to 2025.02.14/03Ex/Linux/array.c diff --git a/2025.02.14/3Ex/Linux/array.h b/2025.02.14/03Ex/Linux/array.h similarity index 100% rename from 2025.02.14/3Ex/Linux/array.h rename to 2025.02.14/03Ex/Linux/array.h diff --git a/2025.02.14/3Ex/Linux/io_status.h b/2025.02.14/03Ex/Linux/io_status.h similarity index 100% rename from 2025.02.14/3Ex/Linux/io_status.h rename to 2025.02.14/03Ex/Linux/io_status.h diff --git a/2025.02.14/3Ex/Linux/main.c b/2025.02.14/03Ex/Linux/main.c similarity index 100% rename from 2025.02.14/3Ex/Linux/main.c rename to 2025.02.14/03Ex/Linux/main.c diff --git a/2025.02.14/3Ex/Linux/o.txt b/2025.02.14/03Ex/Linux/o.txt similarity index 100% rename from 2025.02.14/3Ex/Linux/o.txt rename to 2025.02.14/03Ex/Linux/o.txt diff --git a/2025.02.14/3Ex/Linux/t.txt b/2025.02.14/03Ex/Linux/t.txt similarity index 100% rename from 2025.02.14/3Ex/Linux/t.txt rename to 2025.02.14/03Ex/Linux/t.txt diff --git a/2025.02.14/3Ex/Makefile b/2025.02.14/03Ex/Makefile similarity index 100% rename from 2025.02.14/3Ex/Makefile rename to 2025.02.14/03Ex/Makefile diff --git a/2025.02.14/3Ex/array.c b/2025.02.14/03Ex/array.c similarity index 100% rename from 2025.02.14/3Ex/array.c rename to 2025.02.14/03Ex/array.c diff --git a/2025.02.14/3Ex/array.h b/2025.02.14/03Ex/array.h similarity index 100% rename from 2025.02.14/3Ex/array.h rename to 2025.02.14/03Ex/array.h diff --git a/2025.02.14/3Ex/io_status.h b/2025.02.14/03Ex/io_status.h similarity index 100% rename from 2025.02.14/3Ex/io_status.h rename to 2025.02.14/03Ex/io_status.h diff --git a/2025.02.14/3Ex/main.c b/2025.02.14/03Ex/main.c similarity index 100% rename from 2025.02.14/3Ex/main.c rename to 2025.02.14/03Ex/main.c diff --git a/2025.02.14/3Ex/o.txt b/2025.02.14/03Ex/o.txt similarity index 100% rename from 2025.02.14/3Ex/o.txt rename to 2025.02.14/03Ex/o.txt diff --git a/2025.02.14/3Ex/t.txt b/2025.02.14/03Ex/t.txt similarity index 100% rename from 2025.02.14/3Ex/t.txt rename to 2025.02.14/03Ex/t.txt diff --git a/2025.02.14/3Ex/Примеры b/2025.02.14/03Ex/Примеры similarity index 100% rename from 2025.02.14/3Ex/Примеры rename to 2025.02.14/03Ex/Примеры diff --git a/2025.02.14/4Ex/Makefile b/2025.02.14/04Ex/Makefile similarity index 100% rename from 2025.02.14/4Ex/Makefile rename to 2025.02.14/04Ex/Makefile diff --git a/2025.02.14/4Ex/array.c b/2025.02.14/04Ex/array.c similarity index 100% rename from 2025.02.14/4Ex/array.c rename to 2025.02.14/04Ex/array.c diff --git a/2025.02.14/4Ex/array.h b/2025.02.14/04Ex/array.h similarity index 100% rename from 2025.02.14/4Ex/array.h rename to 2025.02.14/04Ex/array.h diff --git a/2025.02.14/4Ex/io_status.h b/2025.02.14/04Ex/io_status.h similarity index 100% rename from 2025.02.14/4Ex/io_status.h rename to 2025.02.14/04Ex/io_status.h diff --git a/2025.02.14/4Ex/main.c b/2025.02.14/04Ex/main.c similarity index 100% rename from 2025.02.14/4Ex/main.c rename to 2025.02.14/04Ex/main.c diff --git a/2025.02.14/4Ex/o.txt b/2025.02.14/04Ex/o.txt similarity index 100% rename from 2025.02.14/4Ex/o.txt rename to 2025.02.14/04Ex/o.txt diff --git a/2025.02.14/4Ex/t.txt b/2025.02.14/04Ex/t.txt similarity index 100% rename from 2025.02.14/4Ex/t.txt rename to 2025.02.14/04Ex/t.txt diff --git a/2025.02.14/4Ex/Примеры b/2025.02.14/04Ex/Примеры similarity index 100% rename from 2025.02.14/4Ex/Примеры rename to 2025.02.14/04Ex/Примеры diff --git a/2025.02.14/6Ex/Makefile b/2025.02.14/06Ex/Makefile similarity index 100% rename from 2025.02.14/6Ex/Makefile rename to 2025.02.14/06Ex/Makefile diff --git a/2025.02.14/6Ex/array.c b/2025.02.14/06Ex/array.c similarity index 100% rename from 2025.02.14/6Ex/array.c rename to 2025.02.14/06Ex/array.c diff --git a/2025.02.14/6Ex/array.h b/2025.02.14/06Ex/array.h similarity index 100% rename from 2025.02.14/6Ex/array.h rename to 2025.02.14/06Ex/array.h diff --git a/2025.02.14/6Ex/io_status.h b/2025.02.14/06Ex/io_status.h similarity index 100% rename from 2025.02.14/6Ex/io_status.h rename to 2025.02.14/06Ex/io_status.h diff --git a/2025.02.14/6Ex/main.c b/2025.02.14/06Ex/main.c similarity index 100% rename from 2025.02.14/6Ex/main.c rename to 2025.02.14/06Ex/main.c diff --git a/2025.02.14/6Ex/o.txt b/2025.02.14/06Ex/o.txt similarity index 100% rename from 2025.02.14/6Ex/o.txt rename to 2025.02.14/06Ex/o.txt diff --git a/2025.02.14/6Ex/t.txt b/2025.02.14/06Ex/t.txt similarity index 100% rename from 2025.02.14/6Ex/t.txt rename to 2025.02.14/06Ex/t.txt diff --git a/2025.02.14/6Ex/Примеры.txt b/2025.02.14/06Ex/Примеры.txt similarity index 100% rename from 2025.02.14/6Ex/Примеры.txt rename to 2025.02.14/06Ex/Примеры.txt diff --git a/2025.02.14/7Ex/Makefile b/2025.02.14/07Ex/Makefile similarity index 100% rename from 2025.02.14/7Ex/Makefile rename to 2025.02.14/07Ex/Makefile diff --git a/2025.02.14/7Ex/io_status.h b/2025.02.14/07Ex/io_status.h similarity index 100% rename from 2025.02.14/7Ex/io_status.h rename to 2025.02.14/07Ex/io_status.h diff --git a/2025.02.14/7Ex/main.c b/2025.02.14/07Ex/main.c similarity index 100% rename from 2025.02.14/7Ex/main.c rename to 2025.02.14/07Ex/main.c diff --git a/2025.02.14/7Ex/o.txt b/2025.02.14/07Ex/o.txt similarity index 100% rename from 2025.02.14/7Ex/o.txt rename to 2025.02.14/07Ex/o.txt diff --git a/2025.02.14/7Ex/solve.c b/2025.02.14/07Ex/solve.c similarity index 100% rename from 2025.02.14/7Ex/solve.c rename to 2025.02.14/07Ex/solve.c diff --git a/2025.02.14/7Ex/solve.h b/2025.02.14/07Ex/solve.h similarity index 100% rename from 2025.02.14/7Ex/solve.h rename to 2025.02.14/07Ex/solve.h diff --git a/2025.02.14/7Ex/t.txt b/2025.02.14/07Ex/t.txt similarity index 100% rename from 2025.02.14/7Ex/t.txt rename to 2025.02.14/07Ex/t.txt diff --git a/2025.02.14/7Ex/test_cases.json b/2025.02.14/07Ex/test_cases.json similarity index 100% rename from 2025.02.14/7Ex/test_cases.json rename to 2025.02.14/07Ex/test_cases.json diff --git a/2025.02.14/7Ex/test_runner.py b/2025.02.14/07Ex/test_runner.py similarity index 100% rename from 2025.02.14/7Ex/test_runner.py rename to 2025.02.14/07Ex/test_runner.py diff --git a/2025.02.14/7Ex/Примеры.txt b/2025.02.14/07Ex/Примеры.txt similarity index 100% rename from 2025.02.14/7Ex/Примеры.txt rename to 2025.02.14/07Ex/Примеры.txt diff --git a/2025.02.14/8Ex/Linux/Makefile b/2025.02.14/08Ex/Linux/Makefile similarity index 100% rename from 2025.02.14/8Ex/Linux/Makefile rename to 2025.02.14/08Ex/Linux/Makefile diff --git a/2025.02.14/8Ex/Linux/array.c b/2025.02.14/08Ex/Linux/array.c similarity index 100% rename from 2025.02.14/8Ex/Linux/array.c rename to 2025.02.14/08Ex/Linux/array.c diff --git a/2025.02.14/8Ex/Linux/array.h b/2025.02.14/08Ex/Linux/array.h similarity index 100% rename from 2025.02.14/8Ex/Linux/array.h rename to 2025.02.14/08Ex/Linux/array.h diff --git a/2025.02.14/8Ex/Linux/io_status.h b/2025.02.14/08Ex/Linux/io_status.h similarity index 100% rename from 2025.02.14/8Ex/Linux/io_status.h rename to 2025.02.14/08Ex/Linux/io_status.h diff --git a/2025.02.14/8Ex/Linux/main.c b/2025.02.14/08Ex/Linux/main.c similarity index 100% rename from 2025.02.14/8Ex/Linux/main.c rename to 2025.02.14/08Ex/Linux/main.c diff --git a/2025.02.14/8Ex/Linux/t.txt b/2025.02.14/08Ex/Linux/t.txt similarity index 100% rename from 2025.02.14/8Ex/Linux/t.txt rename to 2025.02.14/08Ex/Linux/t.txt diff --git a/2025.02.14/8Ex/Makefile b/2025.02.14/08Ex/Makefile similarity index 100% rename from 2025.02.14/8Ex/Makefile rename to 2025.02.14/08Ex/Makefile diff --git a/2025.02.14/8Ex/io_status.h b/2025.02.14/08Ex/io_status.h similarity index 100% rename from 2025.02.14/8Ex/io_status.h rename to 2025.02.14/08Ex/io_status.h diff --git a/2025.02.14/8Ex/main.c b/2025.02.14/08Ex/main.c similarity index 100% rename from 2025.02.14/8Ex/main.c rename to 2025.02.14/08Ex/main.c diff --git a/2025.02.14/8Ex/solve.c b/2025.02.14/08Ex/solve.c similarity index 100% rename from 2025.02.14/8Ex/solve.c rename to 2025.02.14/08Ex/solve.c diff --git a/2025.02.14/8Ex/solve.h b/2025.02.14/08Ex/solve.h similarity index 100% rename from 2025.02.14/8Ex/solve.h rename to 2025.02.14/08Ex/solve.h diff --git a/2025.02.14/8Ex/t.txt b/2025.02.14/08Ex/t.txt similarity index 100% rename from 2025.02.14/8Ex/t.txt rename to 2025.02.14/08Ex/t.txt diff --git a/2025.02.14/8Ex/test_cases.json b/2025.02.14/08Ex/test_cases.json similarity index 100% rename from 2025.02.14/8Ex/test_cases.json rename to 2025.02.14/08Ex/test_cases.json diff --git a/2025.02.14/8Ex/test_runner.py b/2025.02.14/08Ex/test_runner.py similarity index 100% rename from 2025.02.14/8Ex/test_runner.py rename to 2025.02.14/08Ex/test_runner.py diff --git a/2025.02.14/8Ex/Примеры.txt b/2025.02.14/08Ex/Примеры.txt similarity index 100% rename from 2025.02.14/8Ex/Примеры.txt rename to 2025.02.14/08Ex/Примеры.txt diff --git a/2025.02.14/9Ex/Makefile b/2025.02.14/09Ex/Makefile similarity index 100% rename from 2025.02.14/9Ex/Makefile rename to 2025.02.14/09Ex/Makefile diff --git a/2025.02.14/9Ex/array.c b/2025.02.14/09Ex/array.c similarity index 100% rename from 2025.02.14/9Ex/array.c rename to 2025.02.14/09Ex/array.c diff --git a/2025.02.14/9Ex/array.h b/2025.02.14/09Ex/array.h similarity index 100% rename from 2025.02.14/9Ex/array.h rename to 2025.02.14/09Ex/array.h diff --git a/2025.02.14/9Ex/io_status.h b/2025.02.14/09Ex/io_status.h similarity index 100% rename from 2025.02.14/9Ex/io_status.h rename to 2025.02.14/09Ex/io_status.h diff --git a/2025.02.14/9Ex/main.c b/2025.02.14/09Ex/main.c similarity index 100% rename from 2025.02.14/9Ex/main.c rename to 2025.02.14/09Ex/main.c diff --git a/2025.02.14/9Ex/o.txt b/2025.02.14/09Ex/o.txt similarity index 100% rename from 2025.02.14/9Ex/o.txt rename to 2025.02.14/09Ex/o.txt diff --git a/2025.02.14/9Ex/t.txt b/2025.02.14/09Ex/t.txt similarity index 100% rename from 2025.02.14/9Ex/t.txt rename to 2025.02.14/09Ex/t.txt diff --git a/2025.02.14/9Ex/Примеры.txt b/2025.02.14/09Ex/Примеры.txt similarity index 100% rename from 2025.02.14/9Ex/Примеры.txt rename to 2025.02.14/09Ex/Примеры.txt diff --git a/2025.02.14/8Ex/Linux.rar b/2025.02.14/8Ex/Linux.rar deleted file mode 100644 index e1357cb..0000000 Binary files a/2025.02.14/8Ex/Linux.rar and /dev/null differ diff --git a/2025.02.14/Makefile b/2025.02.14/Makefile deleted file mode 100644 index b60e76f..0000000 --- a/2025.02.14/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -FLAGS = -fstack-protector-all -W -Wall -Wextra -Wunused -Wcast-align -Werror -pedantic -pedantic-errors -Wfloat-equal -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Wformat=1 -Wwrite-strings -Wcast-align -Wno-long-long -std=gnu99 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wdeclaration-after-statement -Wbad-function-cast -Wnested-externs -O3 - -%.out: %.o solve.o - gcc $(FLAGS) $^ -o $@ -%.o: %.c - gcc -c $(FLAGS) $< - -all: a01.out a02.out a03.out a04.out a06.out a07.out a08.out a09.out - -solve.o: solve.c solve.h - -clean: - rm -f *.o *.out diff --git a/2025.02.14/a01.c b/2025.02.14/a01.c deleted file mode 100644 index 89c70fa..0000000 --- a/2025.02.14/a01.c +++ /dev/null @@ -1,59 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task1(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task1(const char* f_in, const char* f_out, const char* s, int* res) -{ - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t1_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t1_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) -{ - int task = 1; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) - { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task1(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) - { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a02.c b/2025.02.14/a02.c deleted file mode 100644 index d89dc80..0000000 --- a/2025.02.14/a02.c +++ /dev/null @@ -1,59 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task2(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task2(const char* f_in, const char* f_out, const char* s, int* res) -{ - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t2_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t2_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) -{ - int task = 2; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) - { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task2(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) - { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a03.c b/2025.02.14/a03.c deleted file mode 100644 index c201e58..0000000 --- a/2025.02.14/a03.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task3(const char* f_in, const char* f_out, const char* s, const char* t_param, int* res); - -io_status task3(const char* f_in, const char* f_out, const char* s, const char* t_param, int* res) { - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t3_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t3_process_file(f_in, f_out, s1, s2, t_param, res); - } -} - -int main(int argc, char* argv[]) { - int task = 3; - io_status ret; - const char *f_in, *f_out, *s, *t_param; - int res = 0; - double t; - if (argc != 5) { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t_param = argv[4]; - t = clock(); - ret = task3(f_in, f_out, s, t_param, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a04.c b/2025.02.14/a04.c deleted file mode 100644 index e166283..0000000 --- a/2025.02.14/a04.c +++ /dev/null @@ -1,60 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task4(const char* f_in, const char* f_out, const char* s, const char* t_param, int* res); - -io_status task4(const char* f_in, const char* f_out, const char* s, const char* t_param, int* res) -{ - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t4_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t4_process_file(f_in, f_out, s1, s2, t_param, res); - } -} - -int main(int argc, char* argv[]) -{ - int task = 4; - io_status ret; - const char *f_in, *f_out, *s, *t_param; - int res = 0; - double t; - if (argc != 5) - { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t_param = argv[4]; - t = clock(); - ret = task4(f_in, f_out, s, t_param, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) - { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a06.c b/2025.02.14/a06.c deleted file mode 100644 index 82b0e38..0000000 --- a/2025.02.14/a06.c +++ /dev/null @@ -1,55 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task6(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task6(const char* f_in, const char* f_out, const char* s, int* res) { - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t6_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t6_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) { - int task = 6; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task6(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a07.c b/2025.02.14/a07.c deleted file mode 100644 index deb9928..0000000 --- a/2025.02.14/a07.c +++ /dev/null @@ -1,55 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task7(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task7(const char* f_in, const char* f_out, const char* s, int* res) { - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t7_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t7_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) { - int task = 7; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task7(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a08.c b/2025.02.14/a08.c deleted file mode 100644 index 83d0cb9..0000000 --- a/2025.02.14/a08.c +++ /dev/null @@ -1,56 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task8(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task8(const char* f_in, const char* f_out, const char* s, int* res) { - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - - status = t8_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t8_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) { - int task = 8; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task8(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/a09.c b/2025.02.14/a09.c deleted file mode 100644 index 4caa8c7..0000000 --- a/2025.02.14/a09.c +++ /dev/null @@ -1,55 +0,0 @@ -#include -#include -#include -#include "io_status.h" -#include "solve.h" - -io_status task9(const char* f_in, const char* f_out, const char* s, int* res); - -io_status task9(const char* f_in, const char* f_out, const char* s, int* res) { - if (s == NULL) return ERROR_PATTERN; - else - { - size_t len_s = strlen(s); - io_status status; - char s1[len_s + 1], s2[len_s + 1]; - memset(s1, 0, len_s + 1); - memset(s2, 0, len_s + 1); - status = t9_process_s(s, s1, s2, len_s); - if (status != SUCCESS) return status; - return t9_process_file(f_in, f_out, s1, s2, res); - } -} - -int main(int argc, char* argv[]) { - int task = 9; - io_status ret; - const char *f_in, *f_out, *s; - int res = 0; - double t; - if (argc != 4) { - printf("Usage: %s \n", argv[0]); - return 1; - } - f_in = argv[1]; - f_out = argv[2]; - s = argv[3]; - t = clock(); - ret = task9(f_in, f_out, s, &res); - t = (clock() - t) / CLOCKS_PER_SEC; - switch (ret) { - case SUCCESS: - printf("%s : Task = %d Result = %d Elapsed = %.2f\n", argv[0], task, res, t); - break; - case ERROR_OPEN: - printf("Can not open %s\n", f_out); - return 1; - case ERROR_READ: - printf("Can not read %s\n", f_out); - return 2; - case ERROR_PATTERN: - printf("Error in pattern %s\n", s); - return 3; - } - return 0; -} diff --git a/2025.02.14/io_status.h b/2025.02.14/io_status.h deleted file mode 100644 index dbdaf41..0000000 --- a/2025.02.14/io_status.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef IO_STATUS_H -#define IO_STATUS_H - -#define LEN 1234 - -typedef enum io_status_ { - SUCCESS, - ERROR_OPEN, - ERROR_READ, - ERROR_PATTERN, -} io_status; - -#endif diff --git a/2025.02.14/solve.c b/2025.02.14/solve.c deleted file mode 100644 index eafa00d..0000000 --- a/2025.02.14/solve.c +++ /dev/null @@ -1,929 +0,0 @@ -#include "solve.h" - -/* ======================================= */ -/* ========== TASK 1 (Задание 1) ========= */ -/* ======================================= */ - -io_status t1_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - size_t i; - int j; - for (i = 0, j = 0; i < len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == len_s) return ERROR_PATTERN; - else - { - s1[j] = 0; - s2[j++] = s[++i]; - } - } - else if ((s[i] == '^') && (i == 0)) - { - s1[j] = '1'; - s2[j++] = s[++i]; - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t1_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach = t1_process_string(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - /* Исправленная проверка на '\n': */ - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - return SUCCESS; -} - -bool t1_process_string(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - if (len_buf < len_s) return false; - - if (s1[0] == '1') - { - size_t i; - for (i = 0; i < len_s; ++i) - { - if (buf[i] != s2[i]) return false; - } - } - else - { - char* s_pointer = strstr(buf, s2); - if (!s_pointer) return false; - } - - return true; -} - -/* ======================================= */ -/* ========== TASK 2 (Задание 2) ========= */ -/* ======================================= */ - -io_status t2_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - size_t i; - int j; - for (i = 0, j = 0; i < len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == len_s) return ERROR_PATTERN; - else - { - s1[j] = 0; - s2[j++] = s[++i]; - } - } - else if ((s[i] == '$') && (i + 1 == len_s)) - { - if (j != 0) - { - s1[j - 1] = '1'; - } - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t2_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - /* Исправленная проверка на '\n' + уменьшение len_buf: */ - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - - is_approach = t2_process_string(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - /* Здесь снова, если вдруг ещё раз проверяется: */ - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - return SUCCESS; -} - -bool t2_process_string(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - if (len_buf < len_s) return false; - - if (s1[len_s - 1] == '1') - { - size_t i; - /* Проверка с конца строки */ - for (i = len_buf - 1; i > len_buf - len_s - 1; --i) - { - if (buf[i] != s2[i - (len_buf - len_s)]) return false; - } - } - else - { - char* s_pointer = strstr(buf, s2); - if (!s_pointer) return false; - } - - return true; -} - -/* ======================================= */ -/* ========== TASK 3 (Задание 3) ========= */ -/* ======================================= */ - -io_status t3_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - size_t i; - int j; - for (i = 0, j = 0; i < len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == len_s) return ERROR_PATTERN; - else if ((i == 0) && (s[i + 1] == '<')) - { - s1[j] = '1'; - i++; - } - else - { - if (s1[j] != '1') s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else - { - if (s1[j] != '1') s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t3_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, const char* t, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach = t3_process_string(buf, s1, s2, t, len_s, len_buf); - - if (is_approach) - { - i++; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - return SUCCESS; -} - -bool t3_process_string(const char* buf, const char* s1, const char* s2, const char* t, - const size_t len_s, const size_t len_buf) -{ - if (len_buf < len_s) return false; - else - { - if (s1[0] == '1') - { - int last_space = -1, i; - size_t per_sim = 0; // Percent of similarity - for (i = 0; i < (int)len_buf; ++i) - { - if (t3_is_space(buf[i], t)) - { - last_space = i; - per_sim = 0; - } - else - { - if (buf[i] == s2[per_sim]) - { - if ((i == last_space + 1) || (per_sim)) - { - if (++per_sim == len_s) - { - return true; - } - } - } - else - { - per_sim = 0; - } - } - } - - return false; - } - else - { - if (strstr(buf, s2)) return true; - else return false; - } - } -} - -bool t3_is_space(char symbol, const char* t) -{ - int i; - for (i = 0; t[i] != '\0'; ++i) - { - if (t[i] == symbol) return true; - } - - return false; -} - -/* ======================================= */ -/* ========== TASK 4 (Задание 4) ========= */ -/* ======================================= */ - -io_status t4_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - size_t i; - int j; - for (i = 0, j = 0; i < len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == len_s) return ERROR_PATTERN; - else if ((i == len_s - 2) && (s[i + 1] == '>')) - { - if (j > 0) - { - s1[j++ - 1] = '1'; - } - else - { - s1[j++] = '1'; - } - } - else - { - s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t4_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, const char* t, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - is_approach = t4_process_string(buf, s1, s2, t, len_s, len_buf); - - if (is_approach) - { - i++; - /* Проверка повторно (если была) */ - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - - return SUCCESS; -} - -bool t4_process_string(const char* buf, const char* s1, const char* s2, const char* t, - const size_t len_s, const size_t len_buf) -{ - if (len_buf < len_s) return false; - else - { - if (s1[len_s - 1] == '1') - { - size_t i, last_space = len_buf, per_sim = len_s - 1; // Percent of similarity - /* Обратный цикл, используя size_t */ - for (i = len_buf - 1; i < i + 2; --i) - { - if (t3_is_space(buf[i], t)) // используем t3_is_space, чтобы логику не менять - { - last_space = i; - per_sim = len_s - 1; - } - else - { - if (buf[i] == s2[per_sim]) - { - if ((i == last_space - 1) || ((per_sim + 1) < len_s)) - { - if (per_sim-- == 0) - { - return true; - } - } - } - else - { - per_sim = len_s - 1; - } - } - } - - return false; - } - else - { - if (strstr(buf, s2)) return true; - else return false; - } - } -} - -/* ======================================= */ -/* ========== TASK 6 (Задание 6) ========= */ -/* ======================================= */ - -io_status t6_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - size_t i; - int j; - for (i = 0, j = 0; i < len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == len_s) return ERROR_PATTERN; - else - { - s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else if (s[i] == '.') - { - s1[j] = '1'; - s2[j++] = '.'; - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t6_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - is_approach = t6_process_string(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - /* Повторная проверка на всякий случай */ - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - - return SUCCESS; -} - -bool t6_process_string(const char* buf, const char* s1, const char* s2, const size_t len_s, - const size_t len_buf) -{ - if (len_buf < len_s) return false; - if (s1[0] == '1' || buf[0] == s2[0]) - { - int j; - for (j = 1; j < (int)len_s; ++j) - { - if ((buf[j] != s2[j]) && (s1[j] == '0')) - { - break; - } - } - - if (j == (int)len_s && j == (int)len_buf) return true; - } - - return false; -} - -/* ======================================= */ -/* ========== TASK 7 (Задание 7) ========= */ -/* ======================================= */ - -io_status t7_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - int i; - int j; - for (i = 0, j = 0; i < (int)len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == (int)len_s) return ERROR_PATTERN; - else - { - s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else if ((s[i] == '?') && (j != 0)) - { - s1[j - 1] = '1'; - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t7_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - is_approach = t7_start(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - - return SUCCESS; -} - -bool t7_start(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - bool is_approach = false; - size_t char_s = sizeof(char); - if (len_s == 0) - { - if (len_buf == 0) return true; - return false; - } - else if (len_buf == 0) return false; - - if (buf[0] == s2[0]) - { - is_approach = t7_start(buf + char_s, s1 + char_s, s2 + char_s, len_s - 1, len_buf - 1); - if (is_approach) return true; - } - if (s1[0] == '1') - { - is_approach = t7_start(buf, s1 + char_s, s2 + char_s, len_s - 1, len_buf); - if (is_approach) return true; - } - - return false; -} - -/* ======================================= */ -/* ========== TASK 8 (Задание 8) ========= */ -/* ======================================= */ - -io_status t8_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - int i, j; - for (i = 0, j = 0; i < (int)len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == (int)len_s) return ERROR_PATTERN; - else - { - s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else if ((s[i] == '+') && (j != 0)) - { - s1[j - 1] = '1'; - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t8_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - is_approach = t8_start(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - - return SUCCESS; -} - -bool t8_start(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - size_t char_s = sizeof(char); - if (buf[0] == s2[0]) - { - if (s1[0] == '1') - { - if (t8_recursion(buf + char_s, s1, s2, len_s, len_buf - 1)) return true; - } - if (len_buf == 0 && len_s == 0) return true; - if (t8_recursion(buf + char_s, s1 + char_s, s2 + char_s, len_s - 1, len_buf - 1)) return true; - } - - return false; -} - -bool t8_recursion(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - size_t char_s = sizeof(char); - if (len_s == 0) return true; - else if (len_buf == 0) return false; - else - { - int i; - for (i = 0; i < (int)len_buf; ++i) - { - if (buf[i] == s2[i]) - { - if (s1[i] == '1') - { - if (t8_recursion(buf + (i + 1) * char_s, s1 + i * char_s, s2 + i * char_s, len_s - i, - len_buf - (i + 1))) - return true; - } - if ((i + 1) == (int)len_s) - { - if (i + 1 == (int)len_buf) return true; - return false; - } - } - else - { - return false; - } - } - - return false; - } -} - -/* ======================================= */ -/* ========== TASK 9 (Задание 9) ========= */ -/* ======================================= */ - -io_status t9_process_s(const char* s, char* s1, char* s2, const size_t len_s) -{ - int i, j; - for (i = 0, j = 0; i < (int)len_s; ++i) - { - if (s[i] == '\\') - { - if (i + 1 == (int)len_s) return ERROR_PATTERN; - else - { - s1[j] = '0'; - s2[j++] = s[++i]; - } - } - else if ((s[i] == '*') && (j != 0)) - { - s1[j - 1] = '1'; - } - else - { - s1[j] = '0'; - s2[j++] = s[i]; - } - } - - s2[j] = '\0'; - - return SUCCESS; -} - -io_status t9_process_file(const char* f_in, const char* f_out, const char* s1, const char* s2, int* r) -{ - FILE* fp = fopen(f_in, "r"); - if (!fp) return ERROR_OPEN; - else - { - char buf[LEN] = {0}; - size_t len_s = strlen(s2); - FILE* fw = fopen(f_out, "w"); - int i; - - if (!fw) - { - fclose(fp); - return ERROR_OPEN; - } - for (i = 0; fgets(buf, sizeof(buf), fp);) - { - size_t len_buf = strlen(buf); - bool is_approach; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[--len_buf] = '\0'; - is_approach = t9_start(buf, s1, s2, len_s, len_buf); - - if (is_approach) - { - i++; - if (len_buf > 0 && buf[len_buf - 1] == '\n') - buf[len_buf - 1] = '\0'; - fprintf(fw, "%s\n", buf); - } - } - - *r = i; - fclose(fw); - } - - fclose(fp); - - return SUCCESS; -} - -bool t9_start(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - size_t char_s = sizeof(char); - if (buf[0] == s2[0]) - { - if (s1[0] == '1') - { - if (t9_recursion(buf + char_s, s1, s2, len_s, len_buf - 1)) return true; - else if (t9_recursion(buf, s1 + char_s, s2 + char_s, len_s - 1, len_buf)) return true; - } - if (len_buf == 0 && len_s == 0) return true; - return t9_recursion(buf + char_s, s1 + char_s, s2 + char_s, len_s - 1, len_buf - 1); - } - if (s1[0] == '1') return t9_recursion(buf, s1 + char_s, s2 + char_s, len_s - 1, len_buf); - - return false; -} - -bool t9_recursion(const char* buf, const char* s1, const char* s2, const size_t len_s, const size_t len_buf) -{ - size_t char_s = sizeof(char); - if (len_s == 0) - { - if (len_buf == 0) return true; - return false; - } - else if (len_buf == 0) return false; - else - { - int i; - for (i = 0; i < (int)len_buf; ++i) - { - if (buf[i] == s2[i]) - { - if (s1[i] == '1') - { - if (t9_recursion(buf + (i + 1) * char_s, s1 + i * char_s, s2 + i * char_s, - len_s - i, len_buf - (i + 1))) - return true; - else if (t9_recursion(buf + i * char_s, s1 + (i + 1) * char_s, s2 + (i + 1) * char_s, - len_s - (i + 1), len_buf - i)) - return true; - } - } - else - { - if (s1[i] == '1') - { - /* Здесь два return подряд в оригинале - оставляем как есть */ - return (t9_recursion(buf + i * char_s, s1 + (i + 1) * char_s, s2 + (i + 1) * char_s, - len_s - (i + 1), len_buf - i)); - return true; - } - return false; - } - } - - if (i == (int)len_s) return true; - return false; - } -} diff --git a/2025.02.14/solve.h b/2025.02.14/solve.h deleted file mode 100644 index 14afcef..0000000 --- a/2025.02.14/solve.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef SOLVE_H -#define SOLVE_H - -#include "io_status.h" -#include -#include -#include - -/* ========== TASK 1 (Исходный код из первого задания) ========== */ -io_status t1_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t1_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t1_process_string(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -/* ========== TASK 2 ========== */ -io_status t2_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t2_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t2_process_string(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -/* ========== TASK 3 ========== */ -io_status t3_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t3_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, const char *t, int *r); -bool t3_process_string(const char *buf, const char *s1, const char *s2, const char *t, - const size_t len_s, const size_t len_buf); -bool t3_is_space(char symbol, const char *t); - -/* ========== TASK 4 ========== */ -io_status t4_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t4_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, const char *t, int *r); -bool t4_process_string(const char *buf, const char *s1, const char *s2, const char *t, - const size_t len_s, const size_t len_buf); - -/* ========== TASK 6 ========== */ -io_status t6_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t6_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t6_process_string(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -/* ========== TASK 7 ========== */ -io_status t7_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t7_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t7_start(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -/* ========== TASK 8 ========== */ -io_status t8_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t8_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t8_start(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); -bool t8_recursion(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -/* ========== TASK 9 ========== */ -io_status t9_process_s(const char *s, char *s1, char *s2, const size_t len_s); -io_status t9_process_file(const char *f_in, const char *f_out, const char *s1, const char *s2, int *r); -bool t9_start(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); -bool t9_recursion(const char *buf, const char *s1, const char *s2, const size_t len_s, const size_t len_buf); - -#endif // SOLVE_H diff --git a/2025.02.21/1Ex/Makefile b/2025.02.21/01Ex/Makefile similarity index 100% rename from 2025.02.21/1Ex/Makefile rename to 2025.02.21/01Ex/Makefile diff --git a/2025.02.21/1Ex/array.c b/2025.02.21/01Ex/array.c similarity index 100% rename from 2025.02.21/1Ex/array.c rename to 2025.02.21/01Ex/array.c diff --git a/2025.02.21/1Ex/array.h b/2025.02.21/01Ex/array.h similarity index 100% rename from 2025.02.21/1Ex/array.h rename to 2025.02.21/01Ex/array.h diff --git a/2025.02.21/1Ex/io_status.h b/2025.02.21/01Ex/io_status.h similarity index 100% rename from 2025.02.21/1Ex/io_status.h rename to 2025.02.21/01Ex/io_status.h diff --git a/2025.02.21/1Ex/main.c b/2025.02.21/01Ex/main.c similarity index 100% rename from 2025.02.21/1Ex/main.c rename to 2025.02.21/01Ex/main.c diff --git a/2025.02.21/1Ex/solve.c b/2025.02.21/01Ex/solve.c similarity index 100% rename from 2025.02.21/1Ex/solve.c rename to 2025.02.21/01Ex/solve.c diff --git a/2025.02.21/1Ex/solve.h b/2025.02.21/01Ex/solve.h similarity index 100% rename from 2025.02.21/1Ex/solve.h rename to 2025.02.21/01Ex/solve.h diff --git a/2025.02.21/1Ex/t.txt b/2025.02.21/01Ex/t.txt similarity index 100% rename from 2025.02.21/1Ex/t.txt rename to 2025.02.21/01Ex/t.txt diff --git a/2025.02.21/2Ex/Makefile b/2025.02.21/02Ex/Makefile similarity index 100% rename from 2025.02.21/2Ex/Makefile rename to 2025.02.21/02Ex/Makefile diff --git a/2025.02.21/2Ex/array.c b/2025.02.21/02Ex/array.c similarity index 100% rename from 2025.02.21/2Ex/array.c rename to 2025.02.21/02Ex/array.c diff --git a/2025.02.21/2Ex/array.h b/2025.02.21/02Ex/array.h similarity index 100% rename from 2025.02.21/2Ex/array.h rename to 2025.02.21/02Ex/array.h diff --git a/2025.02.21/2Ex/io_status.h b/2025.02.21/02Ex/io_status.h similarity index 100% rename from 2025.02.21/2Ex/io_status.h rename to 2025.02.21/02Ex/io_status.h diff --git a/2025.02.21/2Ex/main.c b/2025.02.21/02Ex/main.c similarity index 100% rename from 2025.02.21/2Ex/main.c rename to 2025.02.21/02Ex/main.c diff --git a/2025.02.21/2Ex/solve.c b/2025.02.21/02Ex/solve.c similarity index 100% rename from 2025.02.21/2Ex/solve.c rename to 2025.02.21/02Ex/solve.c diff --git a/2025.02.21/2Ex/solve.h b/2025.02.21/02Ex/solve.h similarity index 100% rename from 2025.02.21/2Ex/solve.h rename to 2025.02.21/02Ex/solve.h diff --git a/2025.02.21/2Ex/t.txt b/2025.02.21/02Ex/t.txt similarity index 100% rename from 2025.02.21/2Ex/t.txt rename to 2025.02.21/02Ex/t.txt diff --git a/2025.02.21/3Ex/Makefile b/2025.02.21/03Ex/Makefile similarity index 100% rename from 2025.02.21/3Ex/Makefile rename to 2025.02.21/03Ex/Makefile diff --git a/2025.02.21/3Ex/array.c b/2025.02.21/03Ex/array.c similarity index 100% rename from 2025.02.21/3Ex/array.c rename to 2025.02.21/03Ex/array.c diff --git a/2025.02.21/3Ex/array.h b/2025.02.21/03Ex/array.h similarity index 100% rename from 2025.02.21/3Ex/array.h rename to 2025.02.21/03Ex/array.h diff --git a/2025.02.21/3Ex/io_status.h b/2025.02.21/03Ex/io_status.h similarity index 100% rename from 2025.02.21/3Ex/io_status.h rename to 2025.02.21/03Ex/io_status.h diff --git a/2025.02.21/3Ex/main.c b/2025.02.21/03Ex/main.c similarity index 100% rename from 2025.02.21/3Ex/main.c rename to 2025.02.21/03Ex/main.c diff --git a/2025.02.21/3Ex/solve.c b/2025.02.21/03Ex/solve.c similarity index 100% rename from 2025.02.21/3Ex/solve.c rename to 2025.02.21/03Ex/solve.c diff --git a/2025.02.21/3Ex/solve.h b/2025.02.21/03Ex/solve.h similarity index 100% rename from 2025.02.21/3Ex/solve.h rename to 2025.02.21/03Ex/solve.h diff --git a/2025.02.21/3Ex/t.txt b/2025.02.21/03Ex/t.txt similarity index 100% rename from 2025.02.21/3Ex/t.txt rename to 2025.02.21/03Ex/t.txt diff --git a/2025.02.21/4Ex/Makefile b/2025.02.21/04Ex/Makefile similarity index 100% rename from 2025.02.21/4Ex/Makefile rename to 2025.02.21/04Ex/Makefile diff --git a/2025.02.21/4Ex/array.c b/2025.02.21/04Ex/array.c similarity index 100% rename from 2025.02.21/4Ex/array.c rename to 2025.02.21/04Ex/array.c diff --git a/2025.02.21/4Ex/array.h b/2025.02.21/04Ex/array.h similarity index 100% rename from 2025.02.21/4Ex/array.h rename to 2025.02.21/04Ex/array.h diff --git a/2025.02.21/4Ex/io_status.h b/2025.02.21/04Ex/io_status.h similarity index 100% rename from 2025.02.21/4Ex/io_status.h rename to 2025.02.21/04Ex/io_status.h diff --git a/2025.02.21/4Ex/main.c b/2025.02.21/04Ex/main.c similarity index 100% rename from 2025.02.21/4Ex/main.c rename to 2025.02.21/04Ex/main.c diff --git a/2025.02.21/4Ex/solve.c b/2025.02.21/04Ex/solve.c similarity index 100% rename from 2025.02.21/4Ex/solve.c rename to 2025.02.21/04Ex/solve.c diff --git a/2025.02.21/4Ex/solve.h b/2025.02.21/04Ex/solve.h similarity index 100% rename from 2025.02.21/4Ex/solve.h rename to 2025.02.21/04Ex/solve.h diff --git a/2025.02.21/4Ex/t.txt b/2025.02.21/04Ex/t.txt similarity index 100% rename from 2025.02.21/4Ex/t.txt rename to 2025.02.21/04Ex/t.txt diff --git a/2025.02.21/5Ex/Makefile b/2025.02.21/05Ex/Makefile similarity index 100% rename from 2025.02.21/5Ex/Makefile rename to 2025.02.21/05Ex/Makefile diff --git a/2025.02.21/5Ex/array.c b/2025.02.21/05Ex/array.c similarity index 100% rename from 2025.02.21/5Ex/array.c rename to 2025.02.21/05Ex/array.c diff --git a/2025.02.21/5Ex/array.h b/2025.02.21/05Ex/array.h similarity index 100% rename from 2025.02.21/5Ex/array.h rename to 2025.02.21/05Ex/array.h diff --git a/2025.02.21/5Ex/io_status.h b/2025.02.21/05Ex/io_status.h similarity index 100% rename from 2025.02.21/5Ex/io_status.h rename to 2025.02.21/05Ex/io_status.h diff --git a/2025.02.21/5Ex/main.c b/2025.02.21/05Ex/main.c similarity index 100% rename from 2025.02.21/5Ex/main.c rename to 2025.02.21/05Ex/main.c diff --git a/2025.02.21/5Ex/solve.c b/2025.02.21/05Ex/solve.c similarity index 100% rename from 2025.02.21/5Ex/solve.c rename to 2025.02.21/05Ex/solve.c diff --git a/2025.02.21/5Ex/solve.h b/2025.02.21/05Ex/solve.h similarity index 100% rename from 2025.02.21/5Ex/solve.h rename to 2025.02.21/05Ex/solve.h diff --git a/2025.02.21/5Ex/t.txt b/2025.02.21/05Ex/t.txt similarity index 100% rename from 2025.02.21/5Ex/t.txt rename to 2025.02.21/05Ex/t.txt diff --git a/2025.02.21/6Ex/Makefile b/2025.02.21/06Ex/Makefile similarity index 100% rename from 2025.02.21/6Ex/Makefile rename to 2025.02.21/06Ex/Makefile diff --git a/2025.02.21/6Ex/array.c b/2025.02.21/06Ex/array.c similarity index 100% rename from 2025.02.21/6Ex/array.c rename to 2025.02.21/06Ex/array.c diff --git a/2025.02.21/6Ex/array.h b/2025.02.21/06Ex/array.h similarity index 100% rename from 2025.02.21/6Ex/array.h rename to 2025.02.21/06Ex/array.h diff --git a/2025.02.21/6Ex/io_status.h b/2025.02.21/06Ex/io_status.h similarity index 100% rename from 2025.02.21/6Ex/io_status.h rename to 2025.02.21/06Ex/io_status.h diff --git a/2025.02.21/6Ex/main.c b/2025.02.21/06Ex/main.c similarity index 100% rename from 2025.02.21/6Ex/main.c rename to 2025.02.21/06Ex/main.c diff --git a/2025.02.21/6Ex/solve.c b/2025.02.21/06Ex/solve.c similarity index 100% rename from 2025.02.21/6Ex/solve.c rename to 2025.02.21/06Ex/solve.c diff --git a/2025.02.21/6Ex/solve.h b/2025.02.21/06Ex/solve.h similarity index 100% rename from 2025.02.21/6Ex/solve.h rename to 2025.02.21/06Ex/solve.h diff --git a/2025.02.21/6Ex/t.txt b/2025.02.21/06Ex/t.txt similarity index 100% rename from 2025.02.21/6Ex/t.txt rename to 2025.02.21/06Ex/t.txt diff --git a/2025.02.21/7Ex/Makefile b/2025.02.21/07Ex/Makefile similarity index 100% rename from 2025.02.21/7Ex/Makefile rename to 2025.02.21/07Ex/Makefile diff --git a/2025.02.21/7Ex/array.c b/2025.02.21/07Ex/array.c similarity index 100% rename from 2025.02.21/7Ex/array.c rename to 2025.02.21/07Ex/array.c diff --git a/2025.02.21/7Ex/array.h b/2025.02.21/07Ex/array.h similarity index 100% rename from 2025.02.21/7Ex/array.h rename to 2025.02.21/07Ex/array.h diff --git a/2025.02.21/7Ex/io_status.h b/2025.02.21/07Ex/io_status.h similarity index 100% rename from 2025.02.21/7Ex/io_status.h rename to 2025.02.21/07Ex/io_status.h diff --git a/2025.02.21/7Ex/main.c b/2025.02.21/07Ex/main.c similarity index 100% rename from 2025.02.21/7Ex/main.c rename to 2025.02.21/07Ex/main.c diff --git a/2025.02.21/7Ex/solve.c b/2025.02.21/07Ex/solve.c similarity index 100% rename from 2025.02.21/7Ex/solve.c rename to 2025.02.21/07Ex/solve.c diff --git a/2025.02.21/7Ex/solve.h b/2025.02.21/07Ex/solve.h similarity index 100% rename from 2025.02.21/7Ex/solve.h rename to 2025.02.21/07Ex/solve.h diff --git a/2025.02.21/7Ex/t.txt b/2025.02.21/07Ex/t.txt similarity index 100% rename from 2025.02.21/7Ex/t.txt rename to 2025.02.21/07Ex/t.txt diff --git a/2025.02.21/8Ex/Makefile b/2025.02.21/08Ex/Makefile similarity index 100% rename from 2025.02.21/8Ex/Makefile rename to 2025.02.21/08Ex/Makefile diff --git a/2025.02.21/8Ex/array.c b/2025.02.21/08Ex/array.c similarity index 100% rename from 2025.02.21/8Ex/array.c rename to 2025.02.21/08Ex/array.c diff --git a/2025.02.21/8Ex/array.h b/2025.02.21/08Ex/array.h similarity index 100% rename from 2025.02.21/8Ex/array.h rename to 2025.02.21/08Ex/array.h diff --git a/2025.02.21/8Ex/io_status.h b/2025.02.21/08Ex/io_status.h similarity index 100% rename from 2025.02.21/8Ex/io_status.h rename to 2025.02.21/08Ex/io_status.h diff --git a/2025.02.21/8Ex/main.c b/2025.02.21/08Ex/main.c similarity index 100% rename from 2025.02.21/8Ex/main.c rename to 2025.02.21/08Ex/main.c diff --git a/2025.02.21/8Ex/solve.c b/2025.02.21/08Ex/solve.c similarity index 100% rename from 2025.02.21/8Ex/solve.c rename to 2025.02.21/08Ex/solve.c diff --git a/2025.02.21/8Ex/solve.h b/2025.02.21/08Ex/solve.h similarity index 100% rename from 2025.02.21/8Ex/solve.h rename to 2025.02.21/08Ex/solve.h diff --git a/2025.02.21/8Ex/t.txt b/2025.02.21/08Ex/t.txt similarity index 100% rename from 2025.02.21/8Ex/t.txt rename to 2025.02.21/08Ex/t.txt diff --git a/2025.02.28/1Ex/Makefile b/2025.02.28/01Ex/Makefile similarity index 100% rename from 2025.02.28/1Ex/Makefile rename to 2025.02.28/01Ex/Makefile diff --git a/2025.02.28/1Ex/a.txt b/2025.02.28/01Ex/a.txt similarity index 100% rename from 2025.02.28/1Ex/a.txt rename to 2025.02.28/01Ex/a.txt diff --git a/2025.02.28/1Ex/array.c b/2025.02.28/01Ex/array.c similarity index 100% rename from 2025.02.28/1Ex/array.c rename to 2025.02.28/01Ex/array.c diff --git a/2025.02.28/1Ex/array.h b/2025.02.28/01Ex/array.h similarity index 100% rename from 2025.02.28/1Ex/array.h rename to 2025.02.28/01Ex/array.h diff --git a/2025.02.28/1Ex/io_status.h b/2025.02.28/01Ex/io_status.h similarity index 100% rename from 2025.02.28/1Ex/io_status.h rename to 2025.02.28/01Ex/io_status.h diff --git a/2025.02.28/1Ex/main.c b/2025.02.28/01Ex/main.c similarity index 100% rename from 2025.02.28/1Ex/main.c rename to 2025.02.28/01Ex/main.c diff --git a/2025.02.28/1Ex/solve.c b/2025.02.28/01Ex/solve.c similarity index 100% rename from 2025.02.28/1Ex/solve.c rename to 2025.02.28/01Ex/solve.c diff --git a/2025.02.28/1Ex/solve.h b/2025.02.28/01Ex/solve.h similarity index 100% rename from 2025.02.28/1Ex/solve.h rename to 2025.02.28/01Ex/solve.h diff --git a/2025.02.28/1Ex/sort.c b/2025.02.28/01Ex/sort.c similarity index 100% rename from 2025.02.28/1Ex/sort.c rename to 2025.02.28/01Ex/sort.c diff --git a/2025.02.28/1Ex/sort.h b/2025.02.28/01Ex/sort.h similarity index 100% rename from 2025.02.28/1Ex/sort.h rename to 2025.02.28/01Ex/sort.h diff --git a/2025.02.28/2Ex/Makefile b/2025.02.28/02Ex/Makefile similarity index 100% rename from 2025.02.28/2Ex/Makefile rename to 2025.02.28/02Ex/Makefile diff --git a/2025.02.28/2Ex/a.txt b/2025.02.28/02Ex/a.txt similarity index 100% rename from 2025.02.28/2Ex/a.txt rename to 2025.02.28/02Ex/a.txt diff --git a/2025.02.28/2Ex/array.c b/2025.02.28/02Ex/array.c similarity index 100% rename from 2025.02.28/2Ex/array.c rename to 2025.02.28/02Ex/array.c diff --git a/2025.02.28/2Ex/array.h b/2025.02.28/02Ex/array.h similarity index 100% rename from 2025.02.28/2Ex/array.h rename to 2025.02.28/02Ex/array.h diff --git a/2025.02.28/2Ex/b.txt b/2025.02.28/02Ex/b.txt similarity index 100% rename from 2025.02.28/2Ex/b.txt rename to 2025.02.28/02Ex/b.txt diff --git a/2025.02.28/2Ex/io_status.h b/2025.02.28/02Ex/io_status.h similarity index 100% rename from 2025.02.28/2Ex/io_status.h rename to 2025.02.28/02Ex/io_status.h diff --git a/2025.02.28/2Ex/main.c b/2025.02.28/02Ex/main.c similarity index 100% rename from 2025.02.28/2Ex/main.c rename to 2025.02.28/02Ex/main.c diff --git a/2025.02.28/2Ex/solve.c b/2025.02.28/02Ex/solve.c similarity index 100% rename from 2025.02.28/2Ex/solve.c rename to 2025.02.28/02Ex/solve.c diff --git a/2025.02.28/2Ex/solve.h b/2025.02.28/02Ex/solve.h similarity index 100% rename from 2025.02.28/2Ex/solve.h rename to 2025.02.28/02Ex/solve.h diff --git a/2025.02.28/2Ex/sort.c b/2025.02.28/02Ex/sort.c similarity index 100% rename from 2025.02.28/2Ex/sort.c rename to 2025.02.28/02Ex/sort.c diff --git a/2025.02.28/2Ex/sort.h b/2025.02.28/02Ex/sort.h similarity index 100% rename from 2025.02.28/2Ex/sort.h rename to 2025.02.28/02Ex/sort.h diff --git a/2025.02.28/2Ex/test_cases.json b/2025.02.28/02Ex/test_cases.json similarity index 100% rename from 2025.02.28/2Ex/test_cases.json rename to 2025.02.28/02Ex/test_cases.json diff --git a/2025.02.28/2Ex/test_runner.py b/2025.02.28/02Ex/test_runner.py similarity index 100% rename from 2025.02.28/2Ex/test_runner.py rename to 2025.02.28/02Ex/test_runner.py diff --git a/2025.02.28/3Ex/Makefile b/2025.02.28/03Ex/Makefile similarity index 100% rename from 2025.02.28/3Ex/Makefile rename to 2025.02.28/03Ex/Makefile diff --git a/2025.02.28/3Ex/a.txt b/2025.02.28/03Ex/a.txt similarity index 100% rename from 2025.02.28/3Ex/a.txt rename to 2025.02.28/03Ex/a.txt diff --git a/2025.02.28/3Ex/array.c b/2025.02.28/03Ex/array.c similarity index 100% rename from 2025.02.28/3Ex/array.c rename to 2025.02.28/03Ex/array.c diff --git a/2025.02.28/3Ex/array.h b/2025.02.28/03Ex/array.h similarity index 100% rename from 2025.02.28/3Ex/array.h rename to 2025.02.28/03Ex/array.h diff --git a/2025.02.28/3Ex/io_status.h b/2025.02.28/03Ex/io_status.h similarity index 100% rename from 2025.02.28/3Ex/io_status.h rename to 2025.02.28/03Ex/io_status.h diff --git a/2025.02.28/3Ex/main.c b/2025.02.28/03Ex/main.c similarity index 100% rename from 2025.02.28/3Ex/main.c rename to 2025.02.28/03Ex/main.c diff --git a/2025.02.28/3Ex/solve.c b/2025.02.28/03Ex/solve.c similarity index 100% rename from 2025.02.28/3Ex/solve.c rename to 2025.02.28/03Ex/solve.c diff --git a/2025.02.28/3Ex/solve.h b/2025.02.28/03Ex/solve.h similarity index 100% rename from 2025.02.28/3Ex/solve.h rename to 2025.02.28/03Ex/solve.h diff --git a/2025.02.28/3Ex/sort.c b/2025.02.28/03Ex/sort.c similarity index 100% rename from 2025.02.28/3Ex/sort.c rename to 2025.02.28/03Ex/sort.c diff --git a/2025.02.28/3Ex/sort.h b/2025.02.28/03Ex/sort.h similarity index 100% rename from 2025.02.28/3Ex/sort.h rename to 2025.02.28/03Ex/sort.h diff --git a/2025.02.28/3Ex/test_cases.json b/2025.02.28/03Ex/test_cases.json similarity index 100% rename from 2025.02.28/3Ex/test_cases.json rename to 2025.02.28/03Ex/test_cases.json diff --git a/2025.02.28/3Ex/test_runner.py b/2025.02.28/03Ex/test_runner.py similarity index 100% rename from 2025.02.28/3Ex/test_runner.py rename to 2025.02.28/03Ex/test_runner.py diff --git a/2025.02.28/4Ex/Makefile b/2025.02.28/04Ex/Makefile similarity index 100% rename from 2025.02.28/4Ex/Makefile rename to 2025.02.28/04Ex/Makefile diff --git a/2025.02.28/4Ex/a.txt b/2025.02.28/04Ex/a.txt similarity index 100% rename from 2025.02.28/4Ex/a.txt rename to 2025.02.28/04Ex/a.txt diff --git a/2025.02.28/4Ex/array.c b/2025.02.28/04Ex/array.c similarity index 100% rename from 2025.02.28/4Ex/array.c rename to 2025.02.28/04Ex/array.c diff --git a/2025.02.28/4Ex/array.h b/2025.02.28/04Ex/array.h similarity index 100% rename from 2025.02.28/4Ex/array.h rename to 2025.02.28/04Ex/array.h diff --git a/2025.02.28/4Ex/io_status.h b/2025.02.28/04Ex/io_status.h similarity index 100% rename from 2025.02.28/4Ex/io_status.h rename to 2025.02.28/04Ex/io_status.h diff --git a/2025.02.28/4Ex/main.c b/2025.02.28/04Ex/main.c similarity index 100% rename from 2025.02.28/4Ex/main.c rename to 2025.02.28/04Ex/main.c diff --git a/2025.02.28/4Ex/solve.c b/2025.02.28/04Ex/solve.c similarity index 100% rename from 2025.02.28/4Ex/solve.c rename to 2025.02.28/04Ex/solve.c diff --git a/2025.02.28/4Ex/solve.h b/2025.02.28/04Ex/solve.h similarity index 100% rename from 2025.02.28/4Ex/solve.h rename to 2025.02.28/04Ex/solve.h diff --git a/2025.02.28/4Ex/sort.c b/2025.02.28/04Ex/sort.c similarity index 100% rename from 2025.02.28/4Ex/sort.c rename to 2025.02.28/04Ex/sort.c diff --git a/2025.02.28/4Ex/sort.h b/2025.02.28/04Ex/sort.h similarity index 100% rename from 2025.02.28/4Ex/sort.h rename to 2025.02.28/04Ex/sort.h diff --git a/2025.02.28/4Ex/test_cases.json b/2025.02.28/04Ex/test_cases.json similarity index 100% rename from 2025.02.28/4Ex/test_cases.json rename to 2025.02.28/04Ex/test_cases.json diff --git a/2025.02.28/4Ex/test_runner.py b/2025.02.28/04Ex/test_runner.py similarity index 100% rename from 2025.02.28/4Ex/test_runner.py rename to 2025.02.28/04Ex/test_runner.py diff --git a/2025.02.28/5Ex/Makefile b/2025.02.28/05Ex/Makefile similarity index 100% rename from 2025.02.28/5Ex/Makefile rename to 2025.02.28/05Ex/Makefile diff --git a/2025.02.28/5Ex/a.txt b/2025.02.28/05Ex/a.txt similarity index 100% rename from 2025.02.28/5Ex/a.txt rename to 2025.02.28/05Ex/a.txt diff --git a/2025.02.28/5Ex/array.c b/2025.02.28/05Ex/array.c similarity index 100% rename from 2025.02.28/5Ex/array.c rename to 2025.02.28/05Ex/array.c diff --git a/2025.02.28/5Ex/array.h b/2025.02.28/05Ex/array.h similarity index 100% rename from 2025.02.28/5Ex/array.h rename to 2025.02.28/05Ex/array.h diff --git a/2025.02.28/5Ex/io_status.h b/2025.02.28/05Ex/io_status.h similarity index 100% rename from 2025.02.28/5Ex/io_status.h rename to 2025.02.28/05Ex/io_status.h diff --git a/2025.02.28/5Ex/main.c b/2025.02.28/05Ex/main.c similarity index 100% rename from 2025.02.28/5Ex/main.c rename to 2025.02.28/05Ex/main.c diff --git a/2025.02.28/5Ex/solve.c b/2025.02.28/05Ex/solve.c similarity index 100% rename from 2025.02.28/5Ex/solve.c rename to 2025.02.28/05Ex/solve.c diff --git a/2025.02.28/5Ex/solve.h b/2025.02.28/05Ex/solve.h similarity index 100% rename from 2025.02.28/5Ex/solve.h rename to 2025.02.28/05Ex/solve.h diff --git a/2025.02.28/5Ex/sort.c b/2025.02.28/05Ex/sort.c similarity index 100% rename from 2025.02.28/5Ex/sort.c rename to 2025.02.28/05Ex/sort.c diff --git a/2025.02.28/5Ex/sort.h b/2025.02.28/05Ex/sort.h similarity index 100% rename from 2025.02.28/5Ex/sort.h rename to 2025.02.28/05Ex/sort.h diff --git a/2025.02.28/5Ex/test_cases.json b/2025.02.28/05Ex/test_cases.json similarity index 100% rename from 2025.02.28/5Ex/test_cases.json rename to 2025.02.28/05Ex/test_cases.json diff --git a/2025.02.28/5Ex/test_runner.py b/2025.02.28/05Ex/test_runner.py similarity index 100% rename from 2025.02.28/5Ex/test_runner.py rename to 2025.02.28/05Ex/test_runner.py diff --git a/2025.02.28/6Ex/Makefile b/2025.02.28/06Ex/Makefile similarity index 100% rename from 2025.02.28/6Ex/Makefile rename to 2025.02.28/06Ex/Makefile diff --git a/2025.02.28/6Ex/a.txt b/2025.02.28/06Ex/a.txt similarity index 100% rename from 2025.02.28/6Ex/a.txt rename to 2025.02.28/06Ex/a.txt diff --git a/2025.02.28/6Ex/array.c b/2025.02.28/06Ex/array.c similarity index 100% rename from 2025.02.28/6Ex/array.c rename to 2025.02.28/06Ex/array.c diff --git a/2025.02.28/6Ex/array.h b/2025.02.28/06Ex/array.h similarity index 100% rename from 2025.02.28/6Ex/array.h rename to 2025.02.28/06Ex/array.h diff --git a/2025.02.28/6Ex/io_status.h b/2025.02.28/06Ex/io_status.h similarity index 100% rename from 2025.02.28/6Ex/io_status.h rename to 2025.02.28/06Ex/io_status.h diff --git a/2025.02.28/6Ex/main.c b/2025.02.28/06Ex/main.c similarity index 100% rename from 2025.02.28/6Ex/main.c rename to 2025.02.28/06Ex/main.c diff --git a/2025.02.28/6Ex/solve.c b/2025.02.28/06Ex/solve.c similarity index 100% rename from 2025.02.28/6Ex/solve.c rename to 2025.02.28/06Ex/solve.c diff --git a/2025.02.28/6Ex/solve.h b/2025.02.28/06Ex/solve.h similarity index 100% rename from 2025.02.28/6Ex/solve.h rename to 2025.02.28/06Ex/solve.h diff --git a/2025.02.28/6Ex/sort.c b/2025.02.28/06Ex/sort.c similarity index 100% rename from 2025.02.28/6Ex/sort.c rename to 2025.02.28/06Ex/sort.c diff --git a/2025.02.28/6Ex/sort.h b/2025.02.28/06Ex/sort.h similarity index 100% rename from 2025.02.28/6Ex/sort.h rename to 2025.02.28/06Ex/sort.h diff --git a/2025.02.28/6Ex/test_cases.json b/2025.02.28/06Ex/test_cases.json similarity index 100% rename from 2025.02.28/6Ex/test_cases.json rename to 2025.02.28/06Ex/test_cases.json diff --git a/2025.02.28/6Ex/test_runner.py b/2025.02.28/06Ex/test_runner.py similarity index 100% rename from 2025.02.28/6Ex/test_runner.py rename to 2025.02.28/06Ex/test_runner.py diff --git a/2025.02.28/7Ex/Makefile b/2025.02.28/07Ex/Makefile similarity index 100% rename from 2025.02.28/7Ex/Makefile rename to 2025.02.28/07Ex/Makefile diff --git a/2025.02.28/7Ex/a.txt b/2025.02.28/07Ex/a.txt similarity index 100% rename from 2025.02.28/7Ex/a.txt rename to 2025.02.28/07Ex/a.txt diff --git a/2025.02.28/7Ex/array.c b/2025.02.28/07Ex/array.c similarity index 100% rename from 2025.02.28/7Ex/array.c rename to 2025.02.28/07Ex/array.c diff --git a/2025.02.28/7Ex/array.h b/2025.02.28/07Ex/array.h similarity index 100% rename from 2025.02.28/7Ex/array.h rename to 2025.02.28/07Ex/array.h diff --git a/2025.02.28/7Ex/io_status.h b/2025.02.28/07Ex/io_status.h similarity index 100% rename from 2025.02.28/7Ex/io_status.h rename to 2025.02.28/07Ex/io_status.h diff --git a/2025.02.28/7Ex/main.c b/2025.02.28/07Ex/main.c similarity index 100% rename from 2025.02.28/7Ex/main.c rename to 2025.02.28/07Ex/main.c diff --git a/2025.02.28/7Ex/solve.c b/2025.02.28/07Ex/solve.c similarity index 100% rename from 2025.02.28/7Ex/solve.c rename to 2025.02.28/07Ex/solve.c diff --git a/2025.02.28/7Ex/solve.h b/2025.02.28/07Ex/solve.h similarity index 100% rename from 2025.02.28/7Ex/solve.h rename to 2025.02.28/07Ex/solve.h diff --git a/2025.02.28/7Ex/sort.c b/2025.02.28/07Ex/sort.c similarity index 100% rename from 2025.02.28/7Ex/sort.c rename to 2025.02.28/07Ex/sort.c diff --git a/2025.02.28/7Ex/sort.h b/2025.02.28/07Ex/sort.h similarity index 100% rename from 2025.02.28/7Ex/sort.h rename to 2025.02.28/07Ex/sort.h diff --git a/2025.02.28/7Ex/test_cases.json b/2025.02.28/07Ex/test_cases.json similarity index 100% rename from 2025.02.28/7Ex/test_cases.json rename to 2025.02.28/07Ex/test_cases.json diff --git a/2025.02.28/7Ex/test_runner.py b/2025.02.28/07Ex/test_runner.py similarity index 100% rename from 2025.02.28/7Ex/test_runner.py rename to 2025.02.28/07Ex/test_runner.py diff --git a/2025.02.28/8Ex/Makefile b/2025.02.28/08Ex/Makefile similarity index 100% rename from 2025.02.28/8Ex/Makefile rename to 2025.02.28/08Ex/Makefile diff --git a/2025.02.28/8Ex/a.txt b/2025.02.28/08Ex/a.txt similarity index 100% rename from 2025.02.28/8Ex/a.txt rename to 2025.02.28/08Ex/a.txt diff --git a/2025.02.28/8Ex/array.c b/2025.02.28/08Ex/array.c similarity index 100% rename from 2025.02.28/8Ex/array.c rename to 2025.02.28/08Ex/array.c diff --git a/2025.02.28/8Ex/array.h b/2025.02.28/08Ex/array.h similarity index 100% rename from 2025.02.28/8Ex/array.h rename to 2025.02.28/08Ex/array.h diff --git a/2025.02.28/8Ex/io_status.h b/2025.02.28/08Ex/io_status.h similarity index 100% rename from 2025.02.28/8Ex/io_status.h rename to 2025.02.28/08Ex/io_status.h diff --git a/2025.02.28/8Ex/main.c b/2025.02.28/08Ex/main.c similarity index 100% rename from 2025.02.28/8Ex/main.c rename to 2025.02.28/08Ex/main.c diff --git a/2025.02.28/8Ex/solve.c b/2025.02.28/08Ex/solve.c similarity index 100% rename from 2025.02.28/8Ex/solve.c rename to 2025.02.28/08Ex/solve.c diff --git a/2025.02.28/8Ex/solve.h b/2025.02.28/08Ex/solve.h similarity index 100% rename from 2025.02.28/8Ex/solve.h rename to 2025.02.28/08Ex/solve.h diff --git a/2025.02.28/8Ex/sort.c b/2025.02.28/08Ex/sort.c similarity index 100% rename from 2025.02.28/8Ex/sort.c rename to 2025.02.28/08Ex/sort.c diff --git a/2025.02.28/8Ex/sort.h b/2025.02.28/08Ex/sort.h similarity index 100% rename from 2025.02.28/8Ex/sort.h rename to 2025.02.28/08Ex/sort.h diff --git a/2025.02.28/8Ex/test_cases.json b/2025.02.28/08Ex/test_cases.json similarity index 100% rename from 2025.02.28/8Ex/test_cases.json rename to 2025.02.28/08Ex/test_cases.json diff --git a/2025.02.28/8Ex/test_runner.py b/2025.02.28/08Ex/test_runner.py similarity index 100% rename from 2025.02.28/8Ex/test_runner.py rename to 2025.02.28/08Ex/test_runner.py diff --git a/2025.02.28/9Ex/Makefile b/2025.02.28/09Ex/Makefile similarity index 100% rename from 2025.02.28/9Ex/Makefile rename to 2025.02.28/09Ex/Makefile diff --git a/2025.02.28/9Ex/a.txt b/2025.02.28/09Ex/a.txt similarity index 100% rename from 2025.02.28/9Ex/a.txt rename to 2025.02.28/09Ex/a.txt diff --git a/2025.02.28/9Ex/array.c b/2025.02.28/09Ex/array.c similarity index 100% rename from 2025.02.28/9Ex/array.c rename to 2025.02.28/09Ex/array.c diff --git a/2025.02.28/9Ex/array.h b/2025.02.28/09Ex/array.h similarity index 100% rename from 2025.02.28/9Ex/array.h rename to 2025.02.28/09Ex/array.h diff --git a/2025.02.28/9Ex/io_status.h b/2025.02.28/09Ex/io_status.h similarity index 100% rename from 2025.02.28/9Ex/io_status.h rename to 2025.02.28/09Ex/io_status.h diff --git a/2025.02.28/9Ex/main.c b/2025.02.28/09Ex/main.c similarity index 100% rename from 2025.02.28/9Ex/main.c rename to 2025.02.28/09Ex/main.c diff --git a/2025.02.28/9Ex/solve.c b/2025.02.28/09Ex/solve.c similarity index 100% rename from 2025.02.28/9Ex/solve.c rename to 2025.02.28/09Ex/solve.c diff --git a/2025.02.28/9Ex/solve.h b/2025.02.28/09Ex/solve.h similarity index 100% rename from 2025.02.28/9Ex/solve.h rename to 2025.02.28/09Ex/solve.h diff --git a/2025.02.28/9Ex/sort.c b/2025.02.28/09Ex/sort.c similarity index 100% rename from 2025.02.28/9Ex/sort.c rename to 2025.02.28/09Ex/sort.c diff --git a/2025.02.28/9Ex/sort.h b/2025.02.28/09Ex/sort.h similarity index 100% rename from 2025.02.28/9Ex/sort.h rename to 2025.02.28/09Ex/sort.h diff --git a/2025.02.28/9Ex/test_cases.json b/2025.02.28/09Ex/test_cases.json similarity index 100% rename from 2025.02.28/9Ex/test_cases.json rename to 2025.02.28/09Ex/test_cases.json diff --git a/2025.02.28/9Ex/test_runner.py b/2025.02.28/09Ex/test_runner.py similarity index 100% rename from 2025.02.28/9Ex/test_runner.py rename to 2025.02.28/09Ex/test_runner.py diff --git a/2025.03.07/1Ex/Makefile b/2025.03.07/01Ex/Makefile similarity index 100% rename from 2025.03.07/1Ex/Makefile rename to 2025.03.07/01Ex/Makefile diff --git a/2025.03.07/1Ex/array_io.c b/2025.03.07/01Ex/array_io.c similarity index 100% rename from 2025.03.07/1Ex/array_io.c rename to 2025.03.07/01Ex/array_io.c diff --git a/2025.03.07/1Ex/array_io.h b/2025.03.07/01Ex/array_io.h similarity index 100% rename from 2025.03.07/1Ex/array_io.h rename to 2025.03.07/01Ex/array_io.h diff --git a/2025.03.07/1Ex/init_f.c b/2025.03.07/01Ex/init_f.c similarity index 100% rename from 2025.03.07/1Ex/init_f.c rename to 2025.03.07/01Ex/init_f.c diff --git a/2025.03.07/1Ex/init_f.h b/2025.03.07/01Ex/init_f.h similarity index 100% rename from 2025.03.07/1Ex/init_f.h rename to 2025.03.07/01Ex/init_f.h diff --git a/2025.03.07/1Ex/io_status.h b/2025.03.07/01Ex/io_status.h similarity index 100% rename from 2025.03.07/1Ex/io_status.h rename to 2025.03.07/01Ex/io_status.h diff --git a/2025.03.07/1Ex/main.c b/2025.03.07/01Ex/main.c similarity index 100% rename from 2025.03.07/1Ex/main.c rename to 2025.03.07/01Ex/main.c diff --git a/2025.03.07/1Ex/solve.c b/2025.03.07/01Ex/solve.c similarity index 100% rename from 2025.03.07/1Ex/solve.c rename to 2025.03.07/01Ex/solve.c diff --git a/2025.03.07/1Ex/solve.h b/2025.03.07/01Ex/solve.h similarity index 100% rename from 2025.03.07/1Ex/solve.h rename to 2025.03.07/01Ex/solve.h diff --git a/2025.03.07/1Ex/t.txt b/2025.03.07/01Ex/t.txt similarity index 100% rename from 2025.03.07/1Ex/t.txt rename to 2025.03.07/01Ex/t.txt diff --git a/2025.03.07/1Ex/test_cases.json b/2025.03.07/01Ex/test_cases.json similarity index 100% rename from 2025.03.07/1Ex/test_cases.json rename to 2025.03.07/01Ex/test_cases.json diff --git a/2025.03.07/1Ex/test_runner.py b/2025.03.07/01Ex/test_runner.py similarity index 100% rename from 2025.03.07/1Ex/test_runner.py rename to 2025.03.07/01Ex/test_runner.py diff --git a/2025.03.07/2Ex/Makefile b/2025.03.07/02Ex/Makefile similarity index 100% rename from 2025.03.07/2Ex/Makefile rename to 2025.03.07/02Ex/Makefile diff --git a/2025.03.07/2Ex/array_io.c b/2025.03.07/02Ex/array_io.c similarity index 100% rename from 2025.03.07/2Ex/array_io.c rename to 2025.03.07/02Ex/array_io.c diff --git a/2025.03.07/2Ex/array_io.h b/2025.03.07/02Ex/array_io.h similarity index 100% rename from 2025.03.07/2Ex/array_io.h rename to 2025.03.07/02Ex/array_io.h diff --git a/2025.03.07/2Ex/init_f.c b/2025.03.07/02Ex/init_f.c similarity index 100% rename from 2025.03.07/2Ex/init_f.c rename to 2025.03.07/02Ex/init_f.c diff --git a/2025.03.07/2Ex/init_f.h b/2025.03.07/02Ex/init_f.h similarity index 100% rename from 2025.03.07/2Ex/init_f.h rename to 2025.03.07/02Ex/init_f.h diff --git a/2025.03.07/2Ex/io_status.h b/2025.03.07/02Ex/io_status.h similarity index 100% rename from 2025.03.07/2Ex/io_status.h rename to 2025.03.07/02Ex/io_status.h diff --git a/2025.03.07/2Ex/main.c b/2025.03.07/02Ex/main.c similarity index 100% rename from 2025.03.07/2Ex/main.c rename to 2025.03.07/02Ex/main.c diff --git a/2025.03.07/2Ex/solve.c b/2025.03.07/02Ex/solve.c similarity index 100% rename from 2025.03.07/2Ex/solve.c rename to 2025.03.07/02Ex/solve.c diff --git a/2025.03.07/2Ex/solve.h b/2025.03.07/02Ex/solve.h similarity index 100% rename from 2025.03.07/2Ex/solve.h rename to 2025.03.07/02Ex/solve.h diff --git a/2025.03.07/2Ex/t.txt b/2025.03.07/02Ex/t.txt similarity index 100% rename from 2025.03.07/2Ex/t.txt rename to 2025.03.07/02Ex/t.txt diff --git a/2025.03.07/2Ex/test_cases.json b/2025.03.07/02Ex/test_cases.json similarity index 100% rename from 2025.03.07/2Ex/test_cases.json rename to 2025.03.07/02Ex/test_cases.json diff --git a/2025.03.07/2Ex/test_runner.py b/2025.03.07/02Ex/test_runner.py similarity index 100% rename from 2025.03.07/2Ex/test_runner.py rename to 2025.03.07/02Ex/test_runner.py diff --git a/2025.03.07/3Ex/Makefile b/2025.03.07/03Ex/Makefile similarity index 100% rename from 2025.03.07/3Ex/Makefile rename to 2025.03.07/03Ex/Makefile diff --git a/2025.03.07/3Ex/array_io.c b/2025.03.07/03Ex/array_io.c similarity index 100% rename from 2025.03.07/3Ex/array_io.c rename to 2025.03.07/03Ex/array_io.c diff --git a/2025.03.07/3Ex/array_io.h b/2025.03.07/03Ex/array_io.h similarity index 100% rename from 2025.03.07/3Ex/array_io.h rename to 2025.03.07/03Ex/array_io.h diff --git a/2025.03.07/3Ex/init_f.c b/2025.03.07/03Ex/init_f.c similarity index 100% rename from 2025.03.07/3Ex/init_f.c rename to 2025.03.07/03Ex/init_f.c diff --git a/2025.03.07/3Ex/init_f.h b/2025.03.07/03Ex/init_f.h similarity index 100% rename from 2025.03.07/3Ex/init_f.h rename to 2025.03.07/03Ex/init_f.h diff --git a/2025.03.07/3Ex/io_status.h b/2025.03.07/03Ex/io_status.h similarity index 100% rename from 2025.03.07/3Ex/io_status.h rename to 2025.03.07/03Ex/io_status.h diff --git a/2025.03.07/3Ex/main.c b/2025.03.07/03Ex/main.c similarity index 100% rename from 2025.03.07/3Ex/main.c rename to 2025.03.07/03Ex/main.c diff --git a/2025.03.07/3Ex/solve.c b/2025.03.07/03Ex/solve.c similarity index 100% rename from 2025.03.07/3Ex/solve.c rename to 2025.03.07/03Ex/solve.c diff --git a/2025.03.07/3Ex/solve.h b/2025.03.07/03Ex/solve.h similarity index 100% rename from 2025.03.07/3Ex/solve.h rename to 2025.03.07/03Ex/solve.h diff --git a/2025.03.07/3Ex/t.txt b/2025.03.07/03Ex/t.txt similarity index 100% rename from 2025.03.07/3Ex/t.txt rename to 2025.03.07/03Ex/t.txt diff --git a/2025.03.07/3Ex/test_cases.json b/2025.03.07/03Ex/test_cases.json similarity index 100% rename from 2025.03.07/3Ex/test_cases.json rename to 2025.03.07/03Ex/test_cases.json diff --git a/2025.03.07/3Ex/test_runner.py b/2025.03.07/03Ex/test_runner.py similarity index 100% rename from 2025.03.07/3Ex/test_runner.py rename to 2025.03.07/03Ex/test_runner.py diff --git a/2025.03.07/4Ex/Makefile b/2025.03.07/04Ex/Makefile similarity index 100% rename from 2025.03.07/4Ex/Makefile rename to 2025.03.07/04Ex/Makefile diff --git a/2025.03.07/4Ex/array_io.c b/2025.03.07/04Ex/array_io.c similarity index 100% rename from 2025.03.07/4Ex/array_io.c rename to 2025.03.07/04Ex/array_io.c diff --git a/2025.03.07/4Ex/array_io.h b/2025.03.07/04Ex/array_io.h similarity index 100% rename from 2025.03.07/4Ex/array_io.h rename to 2025.03.07/04Ex/array_io.h diff --git a/2025.03.07/4Ex/init_f.c b/2025.03.07/04Ex/init_f.c similarity index 100% rename from 2025.03.07/4Ex/init_f.c rename to 2025.03.07/04Ex/init_f.c diff --git a/2025.03.07/4Ex/init_f.h b/2025.03.07/04Ex/init_f.h similarity index 100% rename from 2025.03.07/4Ex/init_f.h rename to 2025.03.07/04Ex/init_f.h diff --git a/2025.03.07/4Ex/io_status.h b/2025.03.07/04Ex/io_status.h similarity index 100% rename from 2025.03.07/4Ex/io_status.h rename to 2025.03.07/04Ex/io_status.h diff --git a/2025.03.07/4Ex/main.c b/2025.03.07/04Ex/main.c similarity index 100% rename from 2025.03.07/4Ex/main.c rename to 2025.03.07/04Ex/main.c diff --git a/2025.03.07/4Ex/solve.c b/2025.03.07/04Ex/solve.c similarity index 100% rename from 2025.03.07/4Ex/solve.c rename to 2025.03.07/04Ex/solve.c diff --git a/2025.03.07/4Ex/solve.h b/2025.03.07/04Ex/solve.h similarity index 100% rename from 2025.03.07/4Ex/solve.h rename to 2025.03.07/04Ex/solve.h diff --git a/2025.03.07/4Ex/t.txt b/2025.03.07/04Ex/t.txt similarity index 100% rename from 2025.03.07/4Ex/t.txt rename to 2025.03.07/04Ex/t.txt diff --git a/2025.03.07/4Ex/test_cases.json b/2025.03.07/04Ex/test_cases.json similarity index 100% rename from 2025.03.07/4Ex/test_cases.json rename to 2025.03.07/04Ex/test_cases.json diff --git a/2025.03.07/4Ex/test_runner.py b/2025.03.07/04Ex/test_runner.py similarity index 100% rename from 2025.03.07/4Ex/test_runner.py rename to 2025.03.07/04Ex/test_runner.py diff --git a/2025.03.07/5Ex/Makefile b/2025.03.07/05Ex/Makefile similarity index 100% rename from 2025.03.07/5Ex/Makefile rename to 2025.03.07/05Ex/Makefile diff --git a/2025.03.07/5Ex/array_io.c b/2025.03.07/05Ex/array_io.c similarity index 100% rename from 2025.03.07/5Ex/array_io.c rename to 2025.03.07/05Ex/array_io.c diff --git a/2025.03.07/5Ex/array_io.h b/2025.03.07/05Ex/array_io.h similarity index 100% rename from 2025.03.07/5Ex/array_io.h rename to 2025.03.07/05Ex/array_io.h diff --git a/2025.03.07/5Ex/init_f.c b/2025.03.07/05Ex/init_f.c similarity index 100% rename from 2025.03.07/5Ex/init_f.c rename to 2025.03.07/05Ex/init_f.c diff --git a/2025.03.07/5Ex/init_f.h b/2025.03.07/05Ex/init_f.h similarity index 100% rename from 2025.03.07/5Ex/init_f.h rename to 2025.03.07/05Ex/init_f.h diff --git a/2025.03.07/5Ex/io_status.h b/2025.03.07/05Ex/io_status.h similarity index 100% rename from 2025.03.07/5Ex/io_status.h rename to 2025.03.07/05Ex/io_status.h diff --git a/2025.03.07/5Ex/main.c b/2025.03.07/05Ex/main.c similarity index 100% rename from 2025.03.07/5Ex/main.c rename to 2025.03.07/05Ex/main.c diff --git a/2025.03.07/5Ex/solve.c b/2025.03.07/05Ex/solve.c similarity index 100% rename from 2025.03.07/5Ex/solve.c rename to 2025.03.07/05Ex/solve.c diff --git a/2025.03.07/5Ex/solve.h b/2025.03.07/05Ex/solve.h similarity index 100% rename from 2025.03.07/5Ex/solve.h rename to 2025.03.07/05Ex/solve.h diff --git a/2025.03.07/5Ex/t.txt b/2025.03.07/05Ex/t.txt similarity index 100% rename from 2025.03.07/5Ex/t.txt rename to 2025.03.07/05Ex/t.txt diff --git a/2025.03.07/5Ex/test_cases.json b/2025.03.07/05Ex/test_cases.json similarity index 100% rename from 2025.03.07/5Ex/test_cases.json rename to 2025.03.07/05Ex/test_cases.json diff --git a/2025.03.07/5Ex/test_runner.py b/2025.03.07/05Ex/test_runner.py similarity index 100% rename from 2025.03.07/5Ex/test_runner.py rename to 2025.03.07/05Ex/test_runner.py diff --git a/2025.03.07/6Ex/Makefile b/2025.03.07/06Ex/Makefile similarity index 100% rename from 2025.03.07/6Ex/Makefile rename to 2025.03.07/06Ex/Makefile diff --git a/2025.03.07/6Ex/array_io.c b/2025.03.07/06Ex/array_io.c similarity index 100% rename from 2025.03.07/6Ex/array_io.c rename to 2025.03.07/06Ex/array_io.c diff --git a/2025.03.07/6Ex/array_io.h b/2025.03.07/06Ex/array_io.h similarity index 100% rename from 2025.03.07/6Ex/array_io.h rename to 2025.03.07/06Ex/array_io.h diff --git a/2025.03.07/6Ex/init_f.c b/2025.03.07/06Ex/init_f.c similarity index 100% rename from 2025.03.07/6Ex/init_f.c rename to 2025.03.07/06Ex/init_f.c diff --git a/2025.03.07/6Ex/init_f.h b/2025.03.07/06Ex/init_f.h similarity index 100% rename from 2025.03.07/6Ex/init_f.h rename to 2025.03.07/06Ex/init_f.h diff --git a/2025.03.07/6Ex/io_status.h b/2025.03.07/06Ex/io_status.h similarity index 100% rename from 2025.03.07/6Ex/io_status.h rename to 2025.03.07/06Ex/io_status.h diff --git a/2025.03.07/6Ex/main.c b/2025.03.07/06Ex/main.c similarity index 100% rename from 2025.03.07/6Ex/main.c rename to 2025.03.07/06Ex/main.c diff --git a/2025.03.07/6Ex/solve.c b/2025.03.07/06Ex/solve.c similarity index 100% rename from 2025.03.07/6Ex/solve.c rename to 2025.03.07/06Ex/solve.c diff --git a/2025.03.07/6Ex/solve.h b/2025.03.07/06Ex/solve.h similarity index 100% rename from 2025.03.07/6Ex/solve.h rename to 2025.03.07/06Ex/solve.h diff --git a/2025.03.07/6Ex/t.txt b/2025.03.07/06Ex/t.txt similarity index 100% rename from 2025.03.07/6Ex/t.txt rename to 2025.03.07/06Ex/t.txt diff --git a/2025.03.07/6Ex/test_cases.json b/2025.03.07/06Ex/test_cases.json similarity index 100% rename from 2025.03.07/6Ex/test_cases.json rename to 2025.03.07/06Ex/test_cases.json diff --git a/2025.03.07/6Ex/test_runner.py b/2025.03.07/06Ex/test_runner.py similarity index 100% rename from 2025.03.07/6Ex/test_runner.py rename to 2025.03.07/06Ex/test_runner.py diff --git a/2025.03.07/7Ex/Makefile b/2025.03.07/07Ex/Makefile similarity index 100% rename from 2025.03.07/7Ex/Makefile rename to 2025.03.07/07Ex/Makefile diff --git a/2025.03.07/7Ex/array_io.c b/2025.03.07/07Ex/array_io.c similarity index 100% rename from 2025.03.07/7Ex/array_io.c rename to 2025.03.07/07Ex/array_io.c diff --git a/2025.03.07/7Ex/array_io.h b/2025.03.07/07Ex/array_io.h similarity index 100% rename from 2025.03.07/7Ex/array_io.h rename to 2025.03.07/07Ex/array_io.h diff --git a/2025.03.07/7Ex/init_f.c b/2025.03.07/07Ex/init_f.c similarity index 100% rename from 2025.03.07/7Ex/init_f.c rename to 2025.03.07/07Ex/init_f.c diff --git a/2025.03.07/7Ex/init_f.h b/2025.03.07/07Ex/init_f.h similarity index 100% rename from 2025.03.07/7Ex/init_f.h rename to 2025.03.07/07Ex/init_f.h diff --git a/2025.03.07/7Ex/io_status.h b/2025.03.07/07Ex/io_status.h similarity index 100% rename from 2025.03.07/7Ex/io_status.h rename to 2025.03.07/07Ex/io_status.h diff --git a/2025.03.07/7Ex/main.c b/2025.03.07/07Ex/main.c similarity index 100% rename from 2025.03.07/7Ex/main.c rename to 2025.03.07/07Ex/main.c diff --git a/2025.03.07/7Ex/solve.c b/2025.03.07/07Ex/solve.c similarity index 100% rename from 2025.03.07/7Ex/solve.c rename to 2025.03.07/07Ex/solve.c diff --git a/2025.03.07/7Ex/solve.h b/2025.03.07/07Ex/solve.h similarity index 100% rename from 2025.03.07/7Ex/solve.h rename to 2025.03.07/07Ex/solve.h diff --git a/2025.03.07/7Ex/t.txt b/2025.03.07/07Ex/t.txt similarity index 100% rename from 2025.03.07/7Ex/t.txt rename to 2025.03.07/07Ex/t.txt diff --git a/2025.03.07/7Ex/test_cases.json b/2025.03.07/07Ex/test_cases.json similarity index 100% rename from 2025.03.07/7Ex/test_cases.json rename to 2025.03.07/07Ex/test_cases.json diff --git a/2025.03.07/7Ex/test_runner.py b/2025.03.07/07Ex/test_runner.py similarity index 100% rename from 2025.03.07/7Ex/test_runner.py rename to 2025.03.07/07Ex/test_runner.py diff --git a/2025.03.07/8Ex/Makefile b/2025.03.07/08Ex/Makefile similarity index 100% rename from 2025.03.07/8Ex/Makefile rename to 2025.03.07/08Ex/Makefile diff --git a/2025.03.07/8Ex/array_io.c b/2025.03.07/08Ex/array_io.c similarity index 100% rename from 2025.03.07/8Ex/array_io.c rename to 2025.03.07/08Ex/array_io.c diff --git a/2025.03.07/8Ex/array_io.h b/2025.03.07/08Ex/array_io.h similarity index 100% rename from 2025.03.07/8Ex/array_io.h rename to 2025.03.07/08Ex/array_io.h diff --git a/2025.03.07/8Ex/init_f.c b/2025.03.07/08Ex/init_f.c similarity index 100% rename from 2025.03.07/8Ex/init_f.c rename to 2025.03.07/08Ex/init_f.c diff --git a/2025.03.07/8Ex/init_f.h b/2025.03.07/08Ex/init_f.h similarity index 100% rename from 2025.03.07/8Ex/init_f.h rename to 2025.03.07/08Ex/init_f.h diff --git a/2025.03.07/8Ex/io_status.h b/2025.03.07/08Ex/io_status.h similarity index 100% rename from 2025.03.07/8Ex/io_status.h rename to 2025.03.07/08Ex/io_status.h diff --git a/2025.03.07/8Ex/main.c b/2025.03.07/08Ex/main.c similarity index 100% rename from 2025.03.07/8Ex/main.c rename to 2025.03.07/08Ex/main.c diff --git a/2025.03.07/8Ex/solve.c b/2025.03.07/08Ex/solve.c similarity index 100% rename from 2025.03.07/8Ex/solve.c rename to 2025.03.07/08Ex/solve.c diff --git a/2025.03.07/8Ex/solve.h b/2025.03.07/08Ex/solve.h similarity index 100% rename from 2025.03.07/8Ex/solve.h rename to 2025.03.07/08Ex/solve.h diff --git a/2025.03.07/8Ex/t.txt b/2025.03.07/08Ex/t.txt similarity index 100% rename from 2025.03.07/8Ex/t.txt rename to 2025.03.07/08Ex/t.txt diff --git a/2025.03.07/8Ex/test_cases.json b/2025.03.07/08Ex/test_cases.json similarity index 100% rename from 2025.03.07/8Ex/test_cases.json rename to 2025.03.07/08Ex/test_cases.json diff --git a/2025.03.07/8Ex/test_runner.py b/2025.03.07/08Ex/test_runner.py similarity index 100% rename from 2025.03.07/8Ex/test_runner.py rename to 2025.03.07/08Ex/test_runner.py diff --git a/2025.03.07/9Ex/Makefile b/2025.03.07/09Ex/Makefile similarity index 100% rename from 2025.03.07/9Ex/Makefile rename to 2025.03.07/09Ex/Makefile diff --git a/2025.03.07/9Ex/a.txt b/2025.03.07/09Ex/a.txt similarity index 100% rename from 2025.03.07/9Ex/a.txt rename to 2025.03.07/09Ex/a.txt diff --git a/2025.03.07/9Ex/array_io.c b/2025.03.07/09Ex/array_io.c similarity index 100% rename from 2025.03.07/9Ex/array_io.c rename to 2025.03.07/09Ex/array_io.c diff --git a/2025.03.07/9Ex/array_io.h b/2025.03.07/09Ex/array_io.h similarity index 100% rename from 2025.03.07/9Ex/array_io.h rename to 2025.03.07/09Ex/array_io.h diff --git a/2025.03.07/9Ex/b.txt b/2025.03.07/09Ex/b.txt similarity index 100% rename from 2025.03.07/9Ex/b.txt rename to 2025.03.07/09Ex/b.txt diff --git a/2025.03.07/9Ex/init_f.c b/2025.03.07/09Ex/init_f.c similarity index 100% rename from 2025.03.07/9Ex/init_f.c rename to 2025.03.07/09Ex/init_f.c diff --git a/2025.03.07/9Ex/init_f.h b/2025.03.07/09Ex/init_f.h similarity index 100% rename from 2025.03.07/9Ex/init_f.h rename to 2025.03.07/09Ex/init_f.h diff --git a/2025.03.07/9Ex/io_status.h b/2025.03.07/09Ex/io_status.h similarity index 100% rename from 2025.03.07/9Ex/io_status.h rename to 2025.03.07/09Ex/io_status.h diff --git a/2025.03.07/9Ex/main.c b/2025.03.07/09Ex/main.c similarity index 100% rename from 2025.03.07/9Ex/main.c rename to 2025.03.07/09Ex/main.c diff --git a/2025.03.07/9Ex/solve.c b/2025.03.07/09Ex/solve.c similarity index 100% rename from 2025.03.07/9Ex/solve.c rename to 2025.03.07/09Ex/solve.c diff --git a/2025.03.07/9Ex/solve.h b/2025.03.07/09Ex/solve.h similarity index 100% rename from 2025.03.07/9Ex/solve.h rename to 2025.03.07/09Ex/solve.h diff --git a/2025.03.07/9Ex/test_cases.json b/2025.03.07/09Ex/test_cases.json similarity index 100% rename from 2025.03.07/9Ex/test_cases.json rename to 2025.03.07/09Ex/test_cases.json diff --git a/2025.03.07/9Ex/test_runner.py b/2025.03.07/09Ex/test_runner.py similarity index 100% rename from 2025.03.07/9Ex/test_runner.py rename to 2025.03.07/09Ex/test_runner.py diff --git a/2025.03.28/01Ex/a.txt b/2025.03.28/01Ex/a.txt index e77f38c..4c8e387 100644 --- a/2025.03.28/01Ex/a.txt +++ b/2025.03.28/01Ex/a.txt @@ -1,4 +1,2 @@ -2 -1 0 0 --1 2 -1 0 -0 -1 2 -1 -0 0 -1 2 +1.0001 0 +0 1