From c59f0e9a51cda00626f339cefd47b28dd7b2b97c Mon Sep 17 00:00:00 2001 From: alexandre Date: Tue, 16 Apr 2024 09:44:16 +0200 Subject: [PATCH] fixed some random seg fault --- src/algorithm.c | 8 ++++---- src/algorithm.h | 2 +- src/main.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/algorithm.c b/src/algorithm.c index ff6d5f2..8bf800b 100644 --- a/src/algorithm.c +++ b/src/algorithm.c @@ -321,16 +321,16 @@ bool is_allowed_MP2I(creneau* edt, int len_edt, int grp, date end) { // Detect colles } */ - +/* int heuristique_MP2I(creneau* edt,int len_edt, int grp, date end) { - /* + A - Both colles end at 7PM : -10 B - Having the same colleur two weeks in a row : -45 C - Having the same colleur at a 3w interval : -25 D - Having the same colleur at a 4w interval : -10 E - Two colles the same day : -20 F - Same date over 2 weeks : -20 - */ + int end_id = get_next_friday(edt, len_edt, end); // index of first date that is later than end if(end_id == -1) { @@ -444,7 +444,7 @@ int heuristique_MP2I(creneau* edt,int len_edt, int grp, date end) { free(temp); return score; } - +*/ // typedef struct colleur {char* name; int namelen; topic mat; date* disp; int n_disp;} colleur; colleur* get_colleurs(colleur* cl, int len_cl, date d, int* how_many) { colleur* res = malloc(sizeof(colleur)*30); // max. 3 colles per creneau diff --git a/src/algorithm.h b/src/algorithm.h index df85394..3956f0a 100644 --- a/src/algorithm.h +++ b/src/algorithm.h @@ -34,7 +34,7 @@ int get_fst_offset(creneau* edt, date d); //bool is_allowed_MP2I(creneau* edt, int len_edt, int grp, date end); -int heuristique_MP2I(creneau* edt, int len_edt, int grp, date end); +//int heuristique_MP2I(creneau* edt, int len_edt, int grp, date end); colleur *get_colleurs(colleur *cl, int len_cl, date d, int *how_many); diff --git a/src/main.c b/src/main.c index ad7393e..5363ca8 100644 --- a/src/main.c +++ b/src/main.c @@ -86,7 +86,7 @@ int main(int argc, char **argv) { char* path_creneaux = argv[1+offset]; int n_creneaux = str_to_int(argv[2+offset]); char* path_colleurs = argv[3+offset]; - int n_colleurs = str_to_int(argv[6+offset]); + int n_colleurs = str_to_int(argv[4+offset]); int n_weeks = str_to_int(argv[5+offset]); int n_groups = str_to_int(argv[6+offset]); char* path_output = argv[7+offset]; @@ -110,7 +110,7 @@ int main(int argc, char **argv) { int len_edt = n_creneaux*n_weeks; //colleur* dudes = import_colleurs("some_data.txt", 13, len_creneau); - colleur* dudes = import_colleurs_oneweek(path_colleurs, 16, 6, 33); + colleur* dudes = import_colleurs_oneweek(path_colleurs, n_colleurs, n_weeks, n_creneaux); aux_2(edt, len_edt, dudes, n_colleurs, n_groups, n_weeks, 5000, path_output);