TopCoder是一個提供線上程式競賽的網站,類似ACM的競賽,提供演算法題目的比賽和練習之外,還有其他的軟體設計的項目,如果獲得前幾名的話還可以拿到獎金。

可以從這邊註冊:http://www.topcoder.com/reg/

之後可以在這邊參加各種類型的競賽:http://community.topcoder.com/tc

其中的演算法類型提供了線上編寫程式送出的功能,可以從畫面左上角的O(n)的圖示進入,其他圖示表示不同類型的競賽
aaaa  

點擊O(n)之後,他會開啟Java程式,登入後可以選擇進入練功房寫以前競賽的題目來練習,或者是參加目前進行中的競賽。
aaaa  

進入練功房之後,可以開啟題目來練習,一個競賽有三道題目,依據難度分別是250、500和1000分的題目。
bbb      

開啟之後會進入撰寫程式畫面,TopCoder目前支援Java、C++、C#和VB四種語言。程式寫到一半要離開的話,可以使用Save,若寫完則可以Compile,若要自己輸入資料測試則使用Test,確認一切正確之後則可以Submit出去,題目越快完成交出去分數會越高,從題目被開啟後就開始計時,另外重新Submit的話還會額外的扣分,無論如何,完成至少可得到30%的分數。
bbb  

寫完程式後也可以透過Practice Options下的Run System Test來用系統內的一些Test Case來測試你的程式。
aaaa

在練功房中還可以按Summary看大家的狀態、分數和程式碼。分數的顏色表示使用的語言,可以從個人設定去改,點擊分數兩下可以打開看該使用者所寫的程式,其中有一種狀態Challenge Succeeded表示有人Challenge他的程式,並成功找出問題。bbb  

開啟別人的程式之後最有趣的地方就是可以Challenge對方,找出可能出錯的地方,並送出會造成錯誤的Input,如果成功的話就可以得到50分,如果失敗的話會倒扣25分。
bbb  

我比較擅長使用C#寫,不過可惜線上的C# .Net版本是2.0,用VS2010開啟的專案還要先降成.Net 2.0,像LINQ之類很多好用的功能也不能用,另外上傳的時候要把Namespace拿到編譯還會通過。

以下列出目前有實作的題目提供參考

Tournament \ 1-16 \ 1 - Inv 2001 R1 \ HowEasy
Tournament \ 1-16 \ 1 - Inv 2001 R1 \ SquareDigits
Tournament \ 1-16 \ 1 - Inv 2001 R1 \ Prerequisites

Tournament \ 1-16 \ 2 - Inv 2001 Semi A+B \ MatchMaker
Tournament \ 1-16 \ 2 - Inv 2001 Semi A+B \ Tothello
Tournament \ 1-16 \ 2 - Inv 2001 Semi A+B \ ChessCover

文章標籤
創作者介紹

小殘的程式光廊

emn178 發表在 痞客邦 PIXNET 留言(0) 人氣()