我覺得一定要把這篇寫出來QQ 看到前面幾篇文章快嚇到尿出來了。
說不定一篇文章可以救很多人一命。
落點的邏輯如下=>
1.先讓所有考生錄取第一志願,不管分數。
2.再把各學系已經錄取到的人的"該學系加權後分數"按照降冪排序。
3.若錄取人數超過了該學系的最大人數,就會把分數最差的多餘的人給踢走。
4.被各學系踢走的人會全部強制錄取下一個志願(例如現在是第二志願)。
5.所有學系又會錄取到一批新的考生。然後再把所有考生的加權分依降冪排序。
(前面已錄取的人也要跟第二次被錄取的人一起重排!)
6.錄取人數如果有超過學系最大人數的話,就又得把分數最差的那些人再踢走。
7.不幸又被踢走的人,有可能是第一次沒被踢的!!總之被踢走的人們強制錄取下一志願。
(如果這些人是第一次被踢,那就是錄取第二志願。
如果是第二次被踢,就是錄取第三志願。)
8.重新排列各學系名單內名次,超過名單的人再被踢。
9.依此類推,各被踢學生再錄取下一志願。如果已經沒有下一個志願,則落榜。
還有同分比序問題,但是我認為不需要寫出來啦XD