📄 paikecopy.cs
字号:
//using System;
//using System.Collections.Generic;
//using System.Text;
//using System.Xml;
//using System.IO;
//using System.Runtime.Serialization;
//using System.Runtime.Serialization.Formatters.Binary;
//using System.Windows;
//using System.Threading;
//using System.Windows.Forms;
//namespace WinPaikeCopy
//{
// public class CoursePriority
// {
// public static int[] Priority = new int[ClassUnit.CourseCount] { 5, 5, 4, 4, 2, 1 };
// }
// public class PaiKe
// {
// public TextBox TxtBox;
// public ToolStripProgressBar Bar;
// delegate void SetNumber(int value, ToolStripProgressBar bar);
// delegate void Set(string text, TextBox txtbox);
// void AddText(string text, TextBox txtbox)
// {
// txtbox.Text += text;
// }
// void SetValue(int value, ToolStripProgressBar bar)
// {
// bar.Value = value;
// }
// Random rnd = new Random();
// ClassUnit tClassUnit;
// List<ClassUnit> ClassList = new List<ClassUnit>();
// List<Course> CourseList = new List<Course>();
// //---------------惩罚值列表--------------
// //冲突
// const int ChongTu = 200;
// //一天有2节相同的课
// const int OneDayForTowCourse = 150;
// //连续2天有2节相同课
// const int TowDayForTowCourse = 40;
// //课程优先级单位值
// const int CoursePr = 15;
// //初始化
// void Init()
// {
// CourseList = CommonClass.GetCourseListFromDB("Course.dat");
// List<CourseInClass> courseinclasslist = new List<CourseInClass>();
// courseinclasslist = CommonClass.GetCourseInClassListFromDB("courseinclass.dat");
// ClassList = CommonClass.GetClassListFromDB("Class.dat");
// int[] txulie = new int[ClassList.Count];
// foreach (CourseInClass courseinclass in courseinclasslist)
// {
// for (int i = 0; i < courseinclass.Count; i++)
// {
// int classid = courseinclass.ClassID - 1;
// ClassList[classid].XuLie[txulie[classid]++] = courseinclass.CourseID;
// }
// }
// /*
// int[] Tshuzu;
// Tshuzu = new int[ClassUnit.CourseCount * ClassUnit.WeekDay]
// {
// 1,1,1,1,1,2,
// 2,2,2,2,3,3,
// 3,3,3,4,4,4,
// 5,5,6,6,6,8,
// 8,9,9,7,7,10
// };
// //tClassUnit = new ClassUnit(1, Tshuzu);
// ClassList[0].XuLie = Tshuzu;
// Tshuzu = new int[ClassUnit.CourseCount * ClassUnit.WeekDay]
// {
// 1,1,1,1,1,2,
// 2,2,2,2,3,3,
// 3,3,3,4,4,4,
// 5,5,6,6,6,8,
// 8,9,9,7,7,10
// };
// ClassList[1].XuLie = Tshuzu;
// Tshuzu = new int[ClassUnit.CourseCount * ClassUnit.WeekDay]
// {
// 11,11,11,11,11,12,
// 12,12,12,12,13,13,
// 13,13,13,14,14,14,
// 15,15,16,16,16,18,
// 18,19,19,17,17,20
// };
// ClassList[2].XuLie = Tshuzu;
// Tshuzu = new int[ClassUnit.CourseCount * ClassUnit.WeekDay]
// {
// 21,21,21,21,21,21,
// 21,21,21,21,21,21,
// 21,21,21,21,21,21,
// 21,21,21,21,21,21,
// 21,21,21,21,21,21
// };
// ClassList[3].XuLie = Tshuzu;
// */
// }
// void Print(ClassUnit cu)
// {
// for (int i = 0; i < ClassUnit.WeekDay * ClassUnit.CourseCount; i++)
// {
// Console.Write(cu.XuLie[i].ToString() + " ");
// if ((i + 1) % ClassUnit.CourseCount == 0)
// {
// Console.Write("\n");
// }
// }
// }
// string PrintDetail(ClassUnit cu)
// {
// string re = " ";
// for (int i = 0; i < ClassUnit.CourseCount; i++)
// {
// re += string.Format("第{0}节 ", i + 1);
// }
// re += string.Format("\r\n----------------------------------\r\n");
// for (int i = 0; i < ClassUnit.WeekDay * ClassUnit.CourseCount; i++)
// {
// if ((i) % (ClassUnit.CourseCount) == 0)
// {
// re += string.Format("周{0}: ", i / ClassUnit.CourseCount + 1);
// }
// re += string.Format(CourseList[(cu.XuLie[i] - 1)].Name.ToString() + " ");
// if ((i + 1) % ClassUnit.CourseCount == 0)
// {
// re += string.Format("\r\n");
// }
// }
// return re;
// }
// void assign(int[] c, int[] n)
// {
// for (int i = 0; i < c.Length; i++)
// c[i] = n[i];
// }
// void CreateNext(int[] c, int[] n)
// {
// for (int i = 0; i < c.Length; i++)
// n[i] = c[i];
// int i1 = (int)(rnd.Next(ClassUnit.WeekDay * ClassUnit.CourseCount));
// int i2 = (int)(rnd.Next(ClassUnit.WeekDay * ClassUnit.CourseCount));
// int aux = n[i1];
// n[i1] = n[i2];
// n[i2] = aux;
// }
// int ComputeValue(int[] cu)
// {
// int Sum = 0;
// for (int i = 0; i < ClassUnit.WeekDay; i++)
// {
// int row = i * ClassUnit.CourseCount;
// for (int j = row; j < row + ClassUnit.CourseCount; j++)
// {
// //一天2节
// for (int k = j + 1; k < row + ClassUnit.CourseCount; k++)
// {
// if (cu[j] == cu[k])
// {
// Sum += OneDayForTowCourse;
// }
// }
// //2天2节
// for (int k = (j / ClassUnit.CourseCount + 1) * ClassUnit.CourseCount; k < (j / ClassUnit.CourseCount + 1) * ClassUnit.CourseCount + ClassUnit.CourseCount && k < ClassUnit.WeekDay * ClassUnit.CourseCount; k++)
// {
// if (cu[j] == cu[k] && j != k)
// {
// Sum += TowDayForTowCourse;
// }
// }
// //4天2节
// for (int k = (j / ClassUnit.CourseCount + 3) * ClassUnit.CourseCount; k < (j / ClassUnit.CourseCount + 3) * ClassUnit.CourseCount + ClassUnit.CourseCount && k < ClassUnit.WeekDay * ClassUnit.CourseCount; k++)
// {
// if (cu[j] == cu[k] && k != j)
// {
// Sum += TowDayForTowCourse;
// }
// }
// int t1 = CoursePriority.Priority[j % ClassUnit.CourseCount];
// int t2 = CourseList[cu[j] - 1].Priority;
// if (t1 < t2)
// {
// Sum += CoursePr * (t2 - t1);// * (Math.Max((j % 4 + 1 - cu[j]), 0));
// }
// }
// }
// return Sum;
// }
// int ComputeChongtuValue(int[] next, int cc)
// {
// int Sum = 0;
// for (int i = 0; i < ClassUnit.WeekDay * ClassUnit.CourseCount; i++)
// {
// for (int j = 0; j < ClassList.Count; j++)
// {
// for (int k = j + 1; k < ClassList.Count; k++)
// {
// int t1 = CourseList[ClassList[j].XuLie[i] - 1].TeacherID;
// int t2 = CourseList[ClassList[k].XuLie[i] - 1].TeacherID;
// if (j == cc) { t1 = CourseList[next[i] - 1].TeacherID; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -