2011年5月17日星期二

HKOI TFT 2011 (2) system篇

平時mini-comp,做的server工作都只是一些latex和mysql,沒有甚麼真的很難(當然,我一開始也是甚麼也不懂的),今次單是system的選擇已是困難的開始。

選用Linux,其實一開始我也是挺反對的,始終大家平時用的都是Windows,用command line已經少,更何況用Linux,因為我仍然很記得我一開始用Linux的不習慣,所以我很擔心參賽者可否在短時間內學懂。因此,當知道Linux是一定要用的時候,我特地在judge提大家要早一點到,而比賽中也會提供一切與system有關的協助,幸好,一切都沒有因system做成很大的影響,最少沒有人因為system而交錯題目,或是改錯名,這是比HKOI的一大進步。

然後,是judging system的難題,一向我們用的program是給Windows的,一轉用Linux,便要用HKOJ的judge。有幾樣東西judge是不支援的,因為基本上judge的模式是用ACM的,反應大多只有Accepted,WA,TLE之類,對分數的分派是比較落後的。簡單來說,它是沒有分case給分,即是每一個case佔的分數一定要一樣。另外一樣是沒有partial scoring,即今次mars所要求的評分方式。因此,我今次「有幸」可以研究judge個program的運作,並且在judge作了一些改動。以今次比賽的評分來說,又有partial scoring,又有interactive,真的不簡單。

另外,別以為一個judge便可以解決整個比賽的judging的問題,因為除了要judge之外,還要batch run同給feedback。因此還是要用那一個perl的程式。食judge的feedback的問題搞了我很久,但最後都是在Pascal的部分TLE的情況下失敗,是今次judge的一個遺憾。

最後的network問題,也是今次最無助的地方,被Hackson秒速解決,但由於那個網路實在是太可惡了,所有network都不是互通的,因此都是要回到那逐部機用手指copy的慘況,雖然遲了judge,但結果還會是一樣的...

看看有沒有時間研究一下個judge,很希望把HKOJ改得更好,以後support比賽可以更方便和更完善。

沒有留言:

發佈留言