-1
爲了擴大溝通,公司決定在晚餐時混合部門。假設每張桌子的設計都允許10人吃晚飯,但增加另一個人也是可以的。因此,如果職員人數N%10小於6,那麼N%10人應該放入另外10個人選的表中。洗牌算法:晚餐部門洗牌
假設有20個部門,每個部門有10〜30個人。你會如何隨機安排晚餐,以便同一部門內的人員最少有機會在同一張桌子上,並且每兩個部門的財產幾乎都有同樣的機會在桌子上見面?
我的執行是先隨意放10人一桌。然後爲每個表中的每個部門留下唯一的一個,並將其他人拿出並放入數組中。數組隨機洗牌並放回桌子。直到成本函數F永不減少,而F被定義爲同一表中顯示的同一部門的人數的總和。
你的問題的定義是不完整的 - 你必須定義什麼是可接受的解決方案。 –
@AlexD謝謝,我已經修改了這個問題,更準確地說。 – hailinzeng
上次編輯表示必須「隨機」分配人員。這使問題變得毫無意義。只要你做任何事情來偏袒任務,使人們不太可能最終得到來自同一部門的人員,它就不再是「隨機」了。 –