# 彰商校內程式設計競賽說明(4/25) ## :memo: Zerojudge裁判機說明(Python) 裁判系統(Zerojudge):https://zerojudge.tw/ ### 注意事項: * **本次競賽保證能以Python語言完全答對** * **本競賽採取全面回饋機制,上傳至裁判機後分數可在短時間內得知。程式可重複上傳評分,答錯不倒扣,以該題單次評分結果為最高分,對錯判斷以裁判機與裁判為準,選手不得有異(裁判有權手動評判)。** * **選手必須透過 zerojudge 系統提交解答。每次提交均有 ID 以及提交時間的時間戳記。** * **若紙本試題與裁判系統中有差誤,以裁判機上為準。** * **競賽中除硬體問題、裁判系統問題外(評判結果除外),不接受其他提問。** * **裁判機上均無法使用第三方套件(非內建函式庫)** * **所有題目,均有執行時間和輸出大小限制。** * **非使用python及VB.net的選手,請使用裁判機所接受之語言(C/C++,java),非使用上述語言不予計分。** ### 操作說明: #### 1.進去裁判機系統後,由上方登入,點選Google登入,以學校帳號(stu.chsc.tw)登入,待裁判宣布競賽開始。 ![](https://i.imgur.com/F72BD4f.png) ![](https://i.imgur.com/4RbnLCq.png) #### 2.裁判宣布比賽開始後,由首頁下拉找到「彰商校內技藝競賽」後,點擊參加競賽 ![](https://i.imgur.com/ZeHZ7q4.png) #### 3.進入競賽頁面後,點選要作答的題目。 ![](https://i.imgur.com/aNLd9hO.png) #### 4.點選後,進入題目頁面,題目與紙本試題大致一致,請按照本題標準輸入輸出。 ![](https://i.imgur.com/HcdfIu8.png) ### 競賽過程中,本題討論、解題報告均無法觀看,非競賽試題外程式無法送出。 #### 5.將程式由開發程式撰寫完畢後(Vscode,Python IDLE,Google Colab),點選「測試執行」選擇使用的語言後將程式複製貼到測試執行後,經由公開測資簡易測試(指測公開測資,結果AC不代表程式正確),不管測試執行結果如何,均不列入成績。 ![](https://i.imgur.com/0ZHwadV.png) #### 按入測試執行後由系統根據公開測試判讀程式。 ![](https://i.imgur.com/v2Nn3B9.png) #### 判讀為以下結果: * **AC (Accept): 即表示通過** * **NA (Not Accept): 在多測資點的題目中若未通過所有測資點則出現 NA** * **WA (Wrong Answer): 表示答案錯誤,並在訊息中指出錯誤行數及正確答案** * **TLE (Time Limit Exceed): 表示執行超過時間限制** * **RE (Runtime Error): 表示執行時錯誤,通常為記憶體配置錯誤 如:使用了超過陣列大小的位置** * **CE (Compile Error): 表示編譯錯誤,並在訊息中列出完整錯誤訊息,以利判斷。 關於編譯器** #### 6.測試完成後將程式複製到「送出解答」,將由裁判機判斷答案是否正確及得分數,將正式計入得分,可重複上傳取最高分,分數不倒扣。 ![](https://i.imgur.com/auQHoaS.png) #### 送出後即可看到該題評分結果 ![](https://i.imgur.com/ISd4roU.png) #### 點選「測驗結果」即可看到每題評分結果及總得分,打勾代表該題正確,記分板中只能看到自己的成績,全體排名將會被凍結。 ![](https://i.imgur.com/htMtZQk.png) #### 6.競賽結束前在還沒交卷前都可重複測評,全部做完後按交卷即可離開,交卷後無法再進入競賽頁面。 ![](https://i.imgur.com/JgIhTsu.png) #### 7.競賽時間結束後競賽強制結束,已送出答案的分數計分(選手不必交卷) ## :memo: VB語言說明 * **VB不限制介面,已有可讀性即可,可每題放在From中,或是一題一個檔案** * **VB使用人工賽後後測,請於競賽中確認程式正確性後,於交卷後傳送FTP至教師端即可離開,請整個資料夾上交** * **VB交卷時間以上傳FTP時間戳記為準 輸入輸出範例以下說明** 以第四題 Eva的回家作業為例,可選擇以下三種方法 #### 1. #### textbox= > 2 > 1 2 3 4 > 1 2 4 8 #### Magbox= > 1 2 3 4 5 > 1 2 4 8 16 #### 2. #### InputBox= > 2 #### InputBox= > 1 2 3 4 #### InputBox= > 1 2 4 8 #### MagBox= > 1 2 3 4 5 > 1 2 4 8 16 #### 3. #### InputBox= > 2 #### InputBox= > 1 2 3 4 #### MagBox= > 1 2 3 4 5 #### InputBox= > 1 2 4 8 #### MagBox= > 1 2 4 8 16 ## :memo: 配分說明 #### 每題均有部份分,請選手盡量作答 #### 總分500分 | 題號 | 題目名稱 | 配分 | |:----:|:-------------:|:----:| | A | 北極熊大遷徒 | 30 | | B | 山六九遊樂園 | 40 | | C | 三角形辨別 | 60 | | D | Eva的回家作業 | 60 | | E | 秘密差 | 70 | | F | 盈虧互補 | 90 | | G | 小群體 | 150 | #### 排名以分數較高的優先,分數一樣以消耗時間較少的優先(交卷時間),時間相同者已提交ID小的獲勝。 ## :memo: 參考語法 輸入一行兩個整數,以空格隔開,變數為a,b > python ```python=1 a,b=map(int,input().split()) ``` > vb ```vb=1 Dim B() As String Dim s As String Dim i,m,n As Integer s = InputBox("請輸入二個數值 M N ,數值間用空白分隔, 如: 12 4") B = Split(s, " ") m = CDec(B(0)) n = CDec(B(1)) ``` 輸入數個整數,以空格隔開,放入陣列中 > python ```python=1 list1=[int(i) for i in input().split()] ``` > vb ```vb=1 Dim st() as integer st=Inputbox().split() ```