作者arrack (Arrack Tseng)
看板PHP
標題Re: [請益] 請問依志願分發社團的程式怎麼寫好?
時間Tue Jul 28 16:05:57 2009
※ 引述《BloodArcueid (阿爾特利亞)》之銘言:
: 假設有600名學生 每個學生能填5個社團志願
: 學校有20個社團,然後每個社團人數上限為35人
: 如何能依志願隨機分發進各社團?
: 像熱門社團如籃球社,可能很快就35人額滿了
: 目前個人想到的寫法是,類似聯招填志願的方式
: 開頭讓程式隨機產生600個號碼,抽到前面號碼的學生就先填志願
: 抽到後面號碼的就像聯考分數低只能撿人家剩的
: 不過只填五個志願,很可能導致後面號碼的分發不到社團
: 請教各位先進合適的寫法,謝謝!
: 我只是靠 FrontPage 拉一下錄取進學校的短期就業人員而已
: 突然就要弄這個,還要配合學生資料庫,最好還能整合進SFS3學務系統
: 囧,現在真的一個頭兩個大,兩萬二的薪水也領的好辛苦
: 希望各位前輩救救我,多謝!
: 常用的學務管理系統(SFS3)網站
: http://city.udn.com/61994/3235908
: 還是有什麼套件模組方便達成想要的結果? Xoops?
我來講一下,以前幫學校作體育課程挑選的作法,
應該是跟社團大同小異
第一輪 第一志願: 每個課程去抽出需要的人數(第一志願=該課程)
假設100個人選籃球,那就從這之中亂數挑出35個,然後籃球就滿了。
某些冷門的課程可能抽不滿,就進入第二輪
第二輪,沒滿的課程,依然從第二志願中,有填寫該課程的,在一次亂數挑選
一直抽到第五志願為止
接下來就是有些人會是空的社團,看是要強制分配,還是列名單出來,請學生重選
我們的話是會進入二次挑選,在沒中,就強制分配(因為體育是必修)
這樣做的好處,是不會一次定生死,每次都有機會可以賭
當然,某些課程是必上的,永遠取不滿
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.36.202
推 BloodArcueid:多謝 邏輯上懂了 剩下連結資料與寫程式的問題 07/28 17:58
→ BloodArcueid:今天問上頭的資訊組長 他說不會 自己看著辦 XD 07/28 17:59