【发布时间】:2018-06-20 11:34:06
【问题描述】:
任务是这样的。 11a 班每周应该教 35 小时(6 天。没有星期天)白天他们必须教 6 小时(最多)。科目:
“Matematika”-4 小时每周,“Fizika”-4 小时,“Rusi”-2 小时,“Anglisi”-2 小时,“Naqsha”-2 小时, “Biologiya”-2 小时,“Himiya”-2 小时,“Botanika”-2 小时,“Adabiyot”-3 小时, “Zabon-3 小时”,“Huquq”-3 小时,“TXT”-2 小时,“TDQ”-4。
我创建了这样的课程:
class Class
{
public string Name { get; set; }
public Dictionary<string,int> Subjects { get; set; }
public int MaxHoursInDay { get; set; }
public int MaxHoursInWeek { get; set; }
}
然后我填写数据:
Class _class = new Class();
_class.Name = "11 a";
_class.MaxHoursInDay = 5;
_class.MaxHoursInWeek = 35;
_class.Subjects = new Dictionary<string, int>();
_class.Subjects.Add("Matematika", 4);
_class.Subjects.Add("Fizika", 4);
_class.Subjects.Add("Rusi", 2);
...
现在我想生成所有可能的日程安排选项。有没有解决问题的公式或算法?
【问题讨论】:
-
奇怪(巧合),这就是老师要你自己弄清楚的一点
-
你是什么意思?什么样的老师?
-
这是作业吗?
-
没有。这是我项目的一部分
-
您的问题是constraint satisfaction problem,请解决。可能还有停机问题。
标签: c# algorithm combinatorics