得獎的是...
3 | 8,722 |
眾所矚目(其實並沒有)的黑暗盃程式魔人賽,已於9/20凌晨截止收件,並於9/20早上進行比賽,比賽結果出爐,本屆比賽的冠軍得主為ChickenHouse老板安德魯先生,可以抱走VSTS2008+MSDN大獎。
本次比賽採用最近三期威力彩的頭彩號碼當亂數種子
static int[] randomSeeds = new int[] {
2631, 3710, 2202, 1614, 2622, 2119, 3627, 1229, 2028, 10, 11, 12, 13, .... , 20
};
由比賽結果來看,ChickenHousePlayer拿下各回合的次數第一,Someonepoor則是飛毛腿幾乎包辦了全部的速度第一。在比賽評分設計中,次數多寡所佔的比重頗高,因此ChickenHousePlayer以相當明顯的差距擊退其他參賽者。
回合 | Player_ dmwc | 積分 | Chicken House Player | 積分 | Someone poor | 積分 | Dark Player | 積分 |
10/4(Count) | 16 | 5 | 10 | 16 | 5 | 5 | ||
10/4(Ticks) | 1,468 | 3 | 1,790 | 609 | 5 | 2,263 | ||
10/4(Done) | 1 | 1 | 1 | 1 | ||||
32/12(Count) | 108 | 65 | 10 | 84 | 75 | 5 | ||
32/12(Ticks) | 3,581 | 400 | 3 | 349 | 5 | 490 | ||
32/12(Done) | 1 | 1 | 1 | 1 | ||||
64/24(Count) | 314 | 162 | 16 | 245 | 234 | 8 | ||
64/24(Ticks) | 11,343 | 1,132 | 4 | 1,008 | 8 | 1,581 | ||
64/24(Done) | 2 | 2 | 2 | 2 | ||||
256/64(Count) | 1,917 | 786 | 16 | 1,385 | 1,282 | 8 | ||
256/64(Ticks) | 106,230 | 6,760 | 4 | 5,868 | 8 | 12,980 | ||
256/64(Done) | 2 | 2 | 2 | 2 | ||||
1024/256(Count) | 20,615 | 8,209 | 24 | 17,997 | 17,326 | 12 | ||
1024/256(Ticks) | 3,950,028 | 76,724 | 12 | 77,120 | 6 | 355,134 | ||
1024/256(Done) | 3 | 3 | 3 | 3 | ||||
4096/1024(Count) | 298,331 | 112,457 | 32 | 267,369 | 264,660 | 16 | ||
4096/1024(Ticks) | 251,590,818 | 1,891,983 | 8 | 1,145,051 | 16 | 16,430,140 | ||
4096/1024(Done) | 3 | 3 | 3 | 3 | ||||
Total Score | 15 | 151 | 60 | 66 |
恭喜ChickenHousePlayer嬴得大獎,抽不出空參賽的魔人們,歡迎來挑戰以上的記錄。
所有程式碼及完整比賽記錄可以按這裡下載。
Comments
# by Someonepoor
ChickenHousePlayer的演算法是比較複雜的, 裡面用了比較多heuristic, 不過相對的送去Compare的次數就比較少. 當然我也不是沒注意到次數的weight比較高, 只是程式大約 只花了一天, 沒辦法想太難的演算法, 下次有機會再說啦, 時間都拿去打TOV了說....XD
# by chicken
Orz, 只花一天... 好強,我倒是奮戰了好幾個晚上 :D 不過看了看比賽成績,真的是運氣好。正好次數的第二名跟時間的第一名 (兩者分數一樣) 正好被 DarkPlayer 跟 Someonepoor 分掉了。我無聊算了一下,如果 DarkPlayer 沒加進來排名,那我就真的是險勝了 [H] 為了讓程式好寫點,我是先替 Player 的開發先包了一層,就是之前貼過我改的 AsyncPlayer, 不過後來又換了另一種方法,改用 Yield Return, 又多了兩篇說明文章,再借打廣告一下 :P [C# yield return] #2. 另類的應用 - Thread Sync 替代方案 http://columns.chicken-house.net/post/YieldReturn2_ThreadSyncReplacement.aspx [C#: yield return] #1. How It Work ? http://columns.chicken-house.net/post/C-yield-return-1-How-It-Work-.aspx Thread Sync #2. 實作篇 - 互相等待的兩個執行緒 http://columns.chicken-house.net/post/Thread-Sync-2-e5afa6e4bd9ce7af87-e4ba92e79bb8e7ad89e5be85e79a84e585a9e5808be59fb7e8a18ce7b792.aspx Thread Sync #1. 概念篇 - 如何化被動為主動? http://columns.chicken-house.net/post/Thread-Sync-1-e6a682e5bfb5e7af87-e5a682e4bd95e58c96e8a2abe58b95e782bae4b8bbe58b95.aspx
# by 小熊子
各位都太強了,小熊子只有幫大家拍拍照,倒倒茶的份~