1. 程式人生 > >CCF-CSP認證知識要求

CCF-CSP認證知識要求

認證內容主要覆蓋大學計算機專業所學習的程式設計、資料結構以及演算法,以及相關的數學基礎知識,並關注程式設計技巧的使用、效能的優化,以及奇異情況的正常處理。包括但不限於:

   1.程式設計基礎

    邏輯與數學運算,分支迴圈,過程呼叫(遞迴),字串操作,檔案操作等。

   2.資料結構

   線性表(陣列、佇列、棧、連結串列)、樹(堆、排序二叉樹)、雜湊表、集合與對映、圖。

   3.演算法與演算法設計策略

   排序與查詢,列舉,貪心策略,分治策略,遞推與遞迴,動態規劃,搜尋,圖論演算法,計算幾何,字串演算法、線段樹、隨機演算法,近似演算法等。

CSP認證考試注意事項

1.考生必須從標準輸入中讀入輸入資料,將輸出結果寫到標準輸出中。一般而言,C語言使用scanf和printf來讀入和輸出資料,C++語言使用cin和cout來讀入和輸出資料,Java語言使用Scanner類讀入System.in流,輸出到System.out中。

2.每道試題均有輸入輸出格式說明,考生不得自己新增輸入輸出的提示語句,如“請輸入n:”、“輸出結果為:”,不得輸出用於除錯的中間結果等,這些語句被當成了程式的輸出,導致輸出與答案不對應,因此不能得分。

3.對於C++語言,主函式的定義必須是 int main() 或 int main(int argc, const char *argv[]),而且主函式的返回值必須是0,不能引用非標準的標頭檔案,比如stdafx.h之類的,否則可能出現評測問題。

4.對於Java語言,主類名稱必須是Main,即類的定義必須是public class Main,而入口函式應當為public static void main(String[] args)。程式中不能使用package命令定義包資訊,否則可能無法評測。

5.輸出時未按指定要求換行或大小寫不符合題目要求的,系統會判定為錯誤。試題所有的輸出均為半形字元(ASCII碼++在10到127之間),若輸出了全形字元或其他特殊符號的,評定為錯誤。

6.試題中給定了輸入輸出的樣例用於幫助考生理解試題和輸入輸出格式,在成績評測時,評測方會使用精心設計的輸入資料來執行你的程式,並檢查你程式輸出的正確性,這些資料通常和樣例給出的資料是不一樣的。如果用你的程式執行樣例不能得到正確結果,一般是因為編制的程式存在錯誤,該題將不能得分,或不能得到滿分。如果樣例得到了正確結果,也不代表該程式完全正確,可能會因為程式中隱藏的錯誤導致執行其他資料時得不到正確的結果,最好使用多組資料從多角度進行測試。

7.在測試好自己的程式後,請將整個程式從編輯器中拷貝出來貼上到考試系統提交窗口裡面,再提交即可。每編制與測試好一個程式後要馬上提交自己的程式碼,以免接近考試結束時間,因為網路原因提交不上。如果提交程式之後又有修改,可以再次提交新的版本,考試系統會以你最後提交的為準。

8.考生必須提交一個單一的檔案作為答案,除了引用系統標準的庫檔案外,不得引用其他非標準的庫檔案或自定義的其他檔案(如C++不得引用stdafx.h之類的標頭檔案),否則程式無法通過編譯。

9.程式的長度不得超過64KB,即65536位元組,否則不能提交。

10.程式在執行時會有嚴格的時間和記憶體限制,超過限制時對應的評測點不得分。

11.後臺為黑盒測試,以通過10組測試資料判斷程式是否能夠輸出正確結果來進行評分,每組測試資料10分,前面幾組資料是小資料,後面是大資料;考試時間為4小時,共5道程式設計題,難度依次遞增,每題100分,總分500分。