以下為機器測試的網址
校外:https://cms.pcshic.club
電腦教室:http://192.168.8.251:8888
接下來就可以登入了,帳號為你的學號,密碼為當初註冊時所設定之密碼。
如果不想用英文介面的話右上方有藍色按鈕可以切換介面語言。
這邊寫著這場競賽的開始時間與結束時間,以及這場競賽中所有題目的資訊,包含題目名稱、時間限制、記憶體限制等。
在這個地方會有提問的介面,為了方便主辦方快速了解你的問題,對題目提問時請在標題選擇題目代號,並盡可能詳細敘述你的問題,待主辦方商討後會盡速回覆你。
有時在這邊也會看到競賽公告,像是對題目變數範圍的補充或是題目沒寫的資訊會在這邊補充。競賽重要事項如延長等也會在這邊公告。
理論上有公告或是你的問題被回覆時會有通知。
這邊列的網站是你在賽中可以查看的網站,除了這些網站及競賽系統外的網站禁止瀏覽。
除了參考用網站還有一些資訊如評測結果詳細說明等可供各位使用。
這類題目是最普遍的,所有的輸入輸出都跟平常寫程式的時候一樣,而你要根據題目要求及輸入,輸出對應的答案,這題是範例題,因此不用輸入,只要輸出指定的字串就好。
如果要提交答案的話,左邊選單的「HELLO_CMS」欄位下有「評測頁面」的欄位,在你上傳後稍後就可以看到你這次上傳獲得的成績,有些題目可能會比較久,請耐心等待。
當評測完後,點開詳細資料可以看到每一筆測試資料的詳細狀況,如果一個子問題的所有測試資料都答對的話,就可以獲得這個子問題的分數。
在競賽中採用的是聯集給分,每一題計分的時候會採計那題答對過的所有子問題的分數。
這題要你構造出 組不同的數對 ,使得每一組的 都是 。雖然題目本身不難,但同學們應該可以注意到,這題的答案可以有很多種,像是如果 ,那輸出 或是 ,都是合法的答案,不論輸出哪一組答案,系統都會判定為正確,主辦方會寫好檢查用的程式來決定你的答案是否正確,所以除非題目有特別說要輸出哪個特定的解,不然只要符合題目的要求,都會被當作正確。
接下來看到題本最下方的評分說明,可以看到第三個子問題「你在這個⼦任務會獲得的分數是你輸出正確的數對數量⼀半」,代表在這個子問題中,你不一定要輸出完全正確的解答也可以拿到分數,即使只輸出一半也可以得到對應的分數,這種類型的子問題被稱為「連續給分」,所以同學們在比賽的時候,也可以特別注意有沒有這種特殊給分的子問題能多拿分數。
這題的題本上方就明確的表示「本題為互動題」,代表這是一題特殊類型的題目。這類型的題目會將一些資訊隱藏起來,只能透過題目提供的詢問方式來慢慢將你要的資訊推敲出來。
簡單來說這題的內容是,你有 顆一模一樣的雞蛋,這些雞蛋的共同點就是在超過 樓的地方將其摔下去就會破掉,而題目就是將這個 隱藏起來,並且可以讓你一顆一顆把雞蛋從高樓摔下來,根據摔下去的狀況來推敲出 的值。
這類型的題目在題目敘述的頁面下方會有一個檔案,將這個檔案下載下來解壓縮後會看到三個資料夾,分別是對應語言的資料夾,在這些資料夾中有許多檔案,如果你對互動題不熟悉的話,可以只專注在 Egg.cpp
/Egg.py
的檔案上。
在檔案中已經有許多東西了,可以只看中間這塊被兩個註解夾住的區域,只要專心寫裡面的東西就好了,其他的都可以忽略,即使更改外面的東西也不會讓你得到較高的分數。
你可以發現裡面已經有一個寫了一些東西的函式,看到題本中要求你要完成一個函式 long long height(long long M)
,並回傳正確的 值,在這個函式中的東西就是你要設計的解題策略。題目會提供你一個函式 int is_broken(long long k)
,這個函式可以讓你知道在高度 的地方摔雞蛋會不會破,也就是當你要摔雞蛋的時候,就可以呼叫這個函式,題本中都會寫好函式的使用限制,請多加留意。
在程式碼中已經有寫好一種解題策略了:「如果在第二層樓摔雞蛋破了,那就回傳 ,否則回傳 」,為什麼要這樣寫呢?請看回題本最下方的評分說明。
在評分說明中,第一個子問題是 ,代表 介在 到 之間,表示答案只有 跟 兩種,所以如果在 樓摔雞蛋破了代表答案是 樓,否則答案就是 樓。
再往下看到題本最後一頁,這裡寫著「你可以直接上傳該檔案來獲得 分」,這個子問題就可以拿來檢驗之後你寫的程式是不是有問題,每一題互動題都會分配一定的分數給這種直接上傳就有的分數。
假設你擬定好了一套策略,也撰寫好了程式碼可以直接編譯,或是資料夾中也提供不同語言的編譯指令可供使用。
使用編譯指令的同學可能要另外設定環境參數
題本往下看到範例評分程式這邊,題本中會說明這題程式的讀取方式,像這題程式的讀取方式是:「第一列:」,所以可以到程式這邊輸入 2 1
測試看看。程式會輸出「Accept: 1」,代表我們只摔了一顆雞蛋就答對了這次的測試,另外題本下方還有很多正確或錯誤的訊息可以幫助我們 debug。
其實互動題的操作不只有這些,由於互動題比較困難,同學們可以仔細閱讀一遍題本再作答。
這類型的題目也很特殊,是「Output Only」的題型,當然不是請你輸出就好,而是「只需要提交輸出檔」的意思。
這題就是請你解數獨,不過就像普通的數獨一樣,題目已經給你了,只需要填好就好。在題目敘述頁面下方有一個附件,裡面有「1.in~10.in」共十個檔案,每個檔案都是一個數獨,各位可以自己玩玩看。
如果解完的話可以回到評測頁面提交答案,這邊會有 個上傳檔案的地方,你玩完哪份就上傳到哪個欄位裡面。
你會想說這不就是玩很多數獨而已嗎,哪需要資訊?可以點開「10.in」看看,你會發現這麼龐大的數獨根本沒辦法解出來,所以題目其實就是要你想辦法用程式解開這些數獨,如果要用程式解數獨的話可能會需要一些開檔讀檔的技巧,各位同學可以上網搜尋看看要怎麼做喔!
如果一次把很多題目解完了,也可以一次把那些檔案都上傳,只要將檔名更改成「output_編號.txt」的形式,並將那些檔案壓縮成 .zip 檔,就可以在評測頁面中一次上傳了。
這類型的題目會自動聯集給分,也就是你已經答對的題目不需要重新上傳檔案,題目在計分的時候會將所有答對過的分數都計入。
最後想跟各位同學說,校內賽大多數的題目都是前兩種題型的題目,難度也有調整過,同學們可以不用太擔心到時會什麼分數都拿不到。
如果有任何問題,歡迎同學寄信到「mail@pcshic.club」詢問。如果是在競賽途中有問題,也請充份利用競賽的提問系統。
祝各位同學比賽順利!