Exemple #1
0
        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);
        }
Exemple #2
0
        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]);
            }
        }