2010-09-17 13 views
1

可以說我們有一個雙人遊戲,其中一個玩家總是贏得勝利(無法抽獎)。如何將玩家分爲多個部門?

的問題是:如何ň球員分成ķ部門,如果我們不知道他們的技能什麼?每個分區應該由相同數量的球員組成,最好的球員應該是第一分區,最後一個分區中最差的球員,等等。有額外的限制 - 玩家不能玩超過p遊戲(p大於k)。 PS:這個問題是由starcraft battle.net啓發的。

+0

他們會打主場/離場或單腿? – 2010-09-17 10:17:19

+0

他們只玩一場比賽。 – 2010-09-17 10:45:24

+2

如果你對這些技能一無所知,我們如何才能與「最佳」球員創建一個分區?也許你會在意澄清你究竟想要做什麼?我想你想在任何比賽之前進行比賽。 – 2010-09-17 16:34:17

回答

1

你可以做的最好的事情就是使用swiss-like預賽來排序他們,然後你就知道他們的技能,這樣你就可以將他們分成不同的部門。

I'm doing that它工作的很好。

+1

在OP的問題的一個解釋下,n個玩家將分別玩p個遊戲,然後根據結果將其劃分爲k個分區。一輪p輪瑞士錦標賽聽起來像是一個理想的方式來做到這一點。 – 2010-09-18 14:59:07

0

在將玩家劃分爲分區之前,您可以對玩家進行任何觀察嗎?如果沒有,你沒有任何信息,所以只能做一個隨機分配,然後調整他們在幾場比賽後的分區。如果我們對玩家一無所知,只需將玩家n分配給分區nmodk。 「經過一輪比賽後」(這可能是你提到的p比賽),那麼每個部門可能會有內部排名。由於每個部門(基本上)都是隨機的,因此在一個(隨機)部門中打好的人可能屬於「較高」的部門,而不是那些處於嚴重的部門。所以,在第一輪之後,根據「迄今爲止的勝利」對每個球員進行排序,然後將n/k先分配給第一個分區,然後再將n/k分配給第二個分區,依此類推。