Ejemplo n.º 1
0
        public HourPlan Clone()
        {
            var res = new HourPlan();

            res.GroupToTeacher = new Dictionary <int, int>(GroupToTeacher);
            res.TeacherToGroup = new Dictionary <int, int>(TeacherToGroup);

            return(res);
        }
Ejemplo n.º 2
0
        // (6):
        // Реалізувати допоміжні функції одно-точкового та багато-точкового «схрещування» (кросовера):
        /// <summary>
        /// Створення плану за списком пар
        /// </summary>
        public bool Init(List <Lessоn> pairs)
        {
            for (int i = 0; i < HoursPerDay; i++)
            {
                for (int j = 0; j < DaysPerWeek; j++)
                {
                    HourPlans[j, i] = new HourPlan();
                }
            }

            foreach (var p in pairs)
            {
                if (!AddToAnyDayAndHour(p.Group, p.Teacher))
                {
                    return(false);
                }
            }

            return(true);
        }