public ResultCombinationOfScheldules Copy() { ResultCombinationOfScheldules copy = new ResultCombinationOfScheldules(); List <ResultScheldule> copyResultScheldules = new List <ResultScheldule>(); foreach (ResultScheldule scheldule in Scheldules) { copyResultScheldules.Add(scheldule); } copy.Scheldules = copyResultScheldules; foreach (Film film in UniqFilmsInScheldules.Keys) { copy.UniqFilmsInScheldules.Add(film, UniqFilmsInScheldules[film]); } copy.MinCountOfSessions = MinCountOfSessions; copy.UnusedWorkingTime = UnusedWorkingTime; return(copy); }
static void Main(string[] args) { //List<Film> Films = new List<Film>(); //Films.Add(new Film("Die Hard", 100)); //Films.Add(new Film("LOTR", 180)); //Films.Add(new Film("Pokemon", 120)); CinemaManager cinemaManager = new CinemaManager(); cinemaManager.SetRepertoire(); Node CinemaScheldules = new Node(600, 840, cinemaManager.Repertoire); CinemaScheldules.CreateGraph(); //List<ResultScheldule> results = CinemaScheldules.GetAllVariantsOfScheldule(); //Console.WriteLine(CinemaScheldules.GetOptimalScheldule()); ResultCombinationOfScheldules result = CinemaScheldules.GetOptimalScheldules(3); Console.WriteLine("Расписание:"); for (int i = 0; i < result.Scheldules.Count; i++) { Console.WriteLine($"зал {i+1}"); Console.WriteLine(result.Scheldules[i]); } }