2007年6月14日 星期四

很鳥的程式設計比賽

  昨天被未來的Boss指定去參加系上辦的程式設計競賽,這是我大學生涯第2次參加程式競賽,這次給我的感覺卻很差,不像是程式設計競賽,反而像C++的期末上機考。

 這次舉辦的缺點我覺得有
  1. 比賽地點太晚公佈,公佈出來後也沒通知選手,只有低年級參加者因為人數多大部分都知道。比賽當天很多組都跑錯地方,還去系辦問再趕去參賽,這浪費不少時間。
  2. 比賽前有調查各組需要的系統環境,編譯程式,我們因為要求使用BCB而不是VC,還特別寫信去問主辦人,他回答說現場會提供,我們就很放心的兩手空空去,到了現場才發現電腦裡面只有VC,去問主辦人他卻一問三不知,最後我隊友跑回去宿舍拿,這一來一往又耗掉10多分鐘。
    ##CONTINUE##
  3. 由於電腦設有系統還原,我在安裝BCB主程式的時候跟隊友討論的太專心依不小心按下了安裝程式最後面的"重新啟動電腦",一切心血重來光灌程式起碼浪費我半小時。這雖然不能全部怪主辦單位,但若他們一開始把環境準備好又豈會發生這種事情?
  4. 場面控制非常失敗,說好10點比賽開始,卻未按時開始,人員陸續進場,題目延後發,時間卻未延長。比賽開始之後居然還允許有人在現場亂走,嚴重干擾現場秩序。比賽評分項目有"團隊默契"這一項,但我看若照現場狀況團隊默契這項大概是沒辦法評分了。
  5. 比賽項目題意解釋不清,範例反而干擾原題目意思,如某一題:
    1. 已知地球離月球25500km,某火箭以初速度100km、加速度50km往月球飛去,請問道達月球時速度為多少?
      他給的範例是:  
      輸入:初速度、加速度、距離 輸出:最後速度
          100   50 25500      1600
    2. 這題他的給範例是錯誤的,正確答案應該為1693.74,使用S=V0+0.5at^2 公式下去算,t約為31.87,因此Vt應為Vt=V0+at,答案為1693.74,不過他好像是使用int作為變數儲存,因為int是採取無條件捨去法,最後答案也應該是1650,而不是1600,我猜測他的1600答案是使用4捨5入法在時間那邊取32並*50答案為1600但卻忘記+上初速度所以才湊出了個非常奇怪的1600答案
    3. 這題我們在那邊算很久,因為怎麼湊答案都跟範例不同,最後才發現是範例錯誤orz,不過我們程式交float版本,應該不會錯,除非他還是以錯誤公式下去推導= ="
  6. 這場比賽說要考對程式語言的熟練度,因此說禁止帶任何書籍與參考資料,唷!拜託,現在哪個程式競賽是在考對程式碼的使用?每隊都碼是能帶多少書就帶多少書,國際型的大比賽甚至還允許自己準備自己的library耶,禁帶工具書,老師你能保證你可以記住所有的function使用方式嗎?就算能記住我也不想記,這種東西是需要時稍微翻一下書或者查MSDN就可以了,你以為你在考C++期末考嗎?
  7. 整場比賽比完後,給我的感覺是:比我大一時參加的那場還差勁,題目也沒有鑑別度,雖然參賽人數大增,比賽獎金也大幅提升,但換了人主辦,連點水準都沒有,我還是比較懷念以前的比賽,說實在的看到一堆一、二年級的學弟妹在參賽,再加上那麼鳥的比賽規則,我還以為我真的在參加C++期末考。
  8. 比賽到最後,沒有公佈比賽結果,也沒有宣布說哪時要公佈比賽結果,只要我們留下程式就閃人,留下一頭霧水的我們,雖然有人告訴我這是程式比賽的常規,但我還是覺得很奇怪~"~
  總而言之,這場比賽一整個怪阿,麻煩下次想辦的人做好事前準備工作再來吧orz

  不過呢,這場比賽我感覺沒發揮出平常應有的實力,都卡在一堆奇奇怪怪的地方,要寫4*F,寫成4F,VC居然提示說少了個")",而不是提示4F是個 未知變數...,另外,BCB中AnsiString居然不能用"=="互相比較2變數是否相同,只能先轉成char在使用strcoll function再做比較,光這邊又浪費了不少時間.......orz

沒有留言: