- 程序設計競賽專題挑戰教程
- 藍橋杯大賽組委會組編
- 2581字
- 2023-03-10 16:53:00
1.1 藍橋杯軟件類大賽的競賽規則
藍橋杯軟件類大賽的參賽對象:具有正式全日制學籍并且符合相關科目報名要求的研究生、本科生、高職高專及中職中專學生,以個人為單位進行競賽。本節內容參考的是《第十三屆藍橋杯全國軟件和信息技術專業人才大賽個人賽(軟件類)競賽規則及說明》。
1.組別
競賽按編程語言、院校進行分組。
(1)按編程語言分組。個人賽軟件類按編程語言分為3種:C/C++程序設計、Java程序設計、Python程序設計。
(2)按院校分組。設研究生組、大學A組、大學B組、大學C組。每個組再按照3種編程語言分類,如大學A組C/C++、大學A組Java、大學A組Python等。研究生只能報研究生組。重點本科院校(985、211)的本科生只能報大學A組及以上組別。其他本科院校的本科生可報大學B組及以上組別。其他高職高專、中職中專院校的學生可自行選報任意組別。
目前每位選手每個賽季只能申請參加其中一個組別一種語言的競賽,如大學A組Python。各個組別單獨評獎。
2.競賽賽程
競賽在每年的春季舉辦,有省賽和全國賽,獲省賽一等獎即可參加全國賽。每次競賽的時長為4小時,所有組別同時進行。
3.競賽形式
個人賽,一人一機,全程機考。選手機器通過局域網連接到各個賽場的競賽服務器。選手在答題過程中無法訪問互聯網,也不允許使用除本機以外的資源(如USB連接)。競賽系統以“服務器-瀏覽器”方式發放試題、回收選手答案。
4.參賽選手的機器環境
以2022年第十三屆藍橋杯軟件類大賽省賽為例。
選手機器配置:x86兼容機器,內存不小于1GB,硬盤不小于60GB。操作系統:Windows 7、Windows 8或Windows 10。
C/C++語言開發環境:Dev-cpp 5.4.0、C/C++ API幫助文檔。
Java語言開發環境:JDK 1.8、Eclipse-java-2020-06、API幫助文檔。
Python編程環境:Python 3.8.6、IDLE(Python自帶編輯器)。
5.試題形式
競賽題目全部為客觀題型,以選手提交的答案的測評結果為評分依據。題型有以下兩種。
(1)結果填空。題目描述一個具有確定解的問題,要求選手填寫問題的解。不要求解題過程,不限制解題手段(可以使用任何開發語言或工具,甚至可以動手計算),只要求填寫最終的結果。最終的解是一個整數或者一個字符串,且可以使用ASCII字符表達。
(2)編程大題。題目包含明確的問題描述、輸入和輸出格式,以及用于解釋問題的樣例數據。對于編程大題所涉及的問題,一定有明確、客觀的標準來判斷結果是否正確,并可以通過程序對結果進行評判。選手應當根據問題描述,編寫程序來解決問題。在評測時,選手的程序應當從標準輸入讀入數據,并將最終的結果輸出到標準輸出中。在問題描述中會明確說明給定的條件和限制,明確問題的任務,選手的程序應當能解決在給定條件和限制下的所有可能的情況。選手的程序應當具有普遍性,不能只適用于題目的樣例數據。為了測試選手給出解法的性能,評分時用的測試用例可能包含大數據量的壓力測試用例,選手選擇算法時要盡可能考慮其可行性和效率問題。
6.試題考查范圍
試題考查選手解決實際問題的能力,對于結果填空題,選手可以使用手算、軟件、編程等方法解決;對于編程大題,選手只能編程解決。
競賽側重考查選手對于算法和數據結構的靈活運用能力,很多試題需要使用算法才能被有效解決。
考查范圍如下(標*部分只限于研究生組、大學A組)。
C/C++程序設計基礎:考查選手使用C/C++編寫程序的能力。該部分不考查選手對某一語法的理解程度,選手可以使用自己喜歡的語句編寫程序。選手可在C語言程序中使用標準C語言的庫函數,在C++程序中使用標準C++的庫函數(包括C庫、STL等)。
Java程序設計基礎:考查選手使用Java編寫程序的能力。該部分不考查選手對某一語法的理解程度,選手可以使用自己喜歡的語句編寫程序。選手可在程序中使用JDK中自帶的類,但不能使用其他的第三方類。
Python程序設計基礎:考查選手使用Python編寫程序的能力。該部分不考查選手對某一語法的理解程度,選手可以使用自己喜歡的語句編寫程序。
計算機算法:枚舉、排序、搜索、計數、貪心、動態規劃(Dynamic Programming,DP)、圖論、數論、博弈論*、概率論*、計算幾何*、字符串算法等。
數據結構:數組、對象/結構、字符串、隊列、棧、樹、圖、堆、平衡樹/線段樹、復雜數據結構*、嵌套數據結構*等。
7.答案提交
只有在競賽時間內提交的答案內容才可以被用來評測,競賽結束之后,任何提交內容均無效。選手應使用考試指定的網頁來提交代碼,任何其他方式的提交(如郵件、U盤)都不作為評測依據。
選手可在競賽中的任何時間查看自己之前提交的代碼,也可以重新提交任何題目的答案,對于每道試題,僅有最后一次的提交結果被保存并作為評測的依據。在競賽中,評測結果不會顯示給選手,選手應當在沒有反饋的情況下自行設計數據來調試自己的程序。對于每道試題,選手應將試題的答案內容復制粘貼到網頁上進行提交。程序中應只包含計算模塊,不要包含任何其他的模塊,例如圖形、系統接口調用、系統中斷等。所有系統接口的調用都應通過標準庫來進行。程序中引用的庫應該在程序中以源代碼的方式寫出,在提交時也應當和程序的其他部分一起提交。Python程序僅可以使用Python自帶的庫,評測時不會安裝其他的擴展庫。
8.評分
全部使用機器進行自動評分。
對于結果填空題,題目保證只有唯一解,選手的結果只有和解完全相同才得分,出現格式錯誤或有多余內容時不得分。
對于編程大題,評測系統將使用多個評測數據來測試程序。每個評測數據都有對應的分數。選手所提交的程序將分別用每個評測數據作為輸入來運行。對于某個評測數據,如果選手程序的輸出與正確答案是匹配的,則選手獲得該評測數據的分數。
評測使用的評測數據一般與試題中給定的樣例輸入輸出不一樣。因此建議選手在提交程序前使用不同的數據測試自己的程序。
提交的程序應嚴格按照輸出格式的要求來輸出,包括輸出空格和換行的要求。如果程序沒有遵循輸出格式的要求將被判錯。請注意,程序在輸出的時候多輸出了內容也屬于沒有遵循輸出格式要求的一種情況,所以在輸出的時候請不要輸出任何多余的內容,例如調試輸出的內容。
C/C++選手請務必選擇正確的編譯器,如果編譯器選擇錯誤,可能導致編譯不通過而得0分。請務必讓主函數的返回值為0,當返回非0時程序會被看作執行錯誤而得0分。所有依賴的函數必須明確地在源文件#include <xxx>中,不能通過工程設置而省略常用頭文件。Java選手請務必不要使用package語句,并且確保自己的主類名稱為Main,否則會導致評測系統在運行時找不到主類而得0分;如果在程序中引用了類庫,那么在提交時必須將import語句與程序的其他部分同時提交。該大賽只允許使用Java自帶的類庫。
- 全國職稱計算機考試標準教材與專用題庫:Word 2003中文字處理
- ADOBE INDESIGN CS4標準培訓教材
- 全國職稱計算機考試專用教材:AutoCAD 2004 制圖軟件
- 全國職稱計算機考試專用教材:Internet應用
- 金牌網管師(初級)網絡實驗手冊
- 思科網絡技術學院教程CCNA Exploration:LAN交換和無線
- 全國計算機等級考試一本通:三級網絡技術
- 全國計算機等級考試一本通:二級Visual Basic
- 全國計算機等級考試一本通:二級C語言
- 全國計算機等級考試歷年真題與機考題庫:一級計算機基礎及MS Office應用
- 全國計算機等級考試一本通:一級MS Office
- 全國計算機等級考試一本通:二級C語言
- Java高級程序員面試筆試寶典
- 全國計算機等級考試教程:二級公共基礎知識
- 華為ICT大賽實踐賽云賽道真題解析