CSP復賽說明
文檔目的
本文檔針對目標是第一次參加 CSP 復賽的同學,主要內容是包括 CSP 復賽提交要求和需要特別注意的地方。
CSP復賽說明
特別說明
本說明暫時只能針對浙江省,據說各省在提交上要求會有些區別。有任何疑問請務必詳細咨詢監考老師。
考卷
下面是 2018 年普及組復賽的文檔,請務必注意紅色部分。
2018年NOIP普及組復賽
考試要求
在這個文檔中,我們可以看到,規定了如下幾個:
1、每個題目的名字。
2、必須使用英文小寫。
3、main()的類型必須是int。
4、main()的返回值必須是0。
其中,第3和第4條一般99%的人不會出錯。比較容易出錯的是第1條和第2條,必須嚴格按照規定。
額外說明:浙江省以前都是windows+devc++,所以可以不看說明中關於NoiLinux部分。
一般來說,浙江省提交的代碼會在D盤。假設您的考號為zj01234,考試語言為C++。一般情況下,已經在d盤建立好了zj01234這個子目錄。開始情況如下圖所示。
根據考試要求,建立4個子目錄,子目錄的名字參考圖1 NOIP 2018年普及組復賽,分別為title、fight、bus、tree。注意全部都是小寫。這樣目錄結構如下圖所示。
第一題title的題解文件名為title.cpp,注意全部都是小寫。放在對應的d:/zj01234/title目錄下。如下圖所示。
第二題fight的題解文件名為fight.cpp,注意全部都是小寫。放在對應的d:/zj01234/fight目錄下。如下圖所示。
第三題bus的題解文件名為bus.cpp,注意全部都是小寫。放在對應的d:/zj01234/bus目錄下。如下圖所示。
第四題tree的題解文件名為tree.cpp,注意全部都是小寫。放在對應的d:/zj01234/tree目錄下。如下圖所示。
特別注意的地方
1、比如第一題目錄規定為title,你變成Title,如下圖所示。
本題就是零分。
2、比如第一題規定的提交文件為title.cpp,你寫成Title.cpp。本題就是零分。
3、比如第一題規定的提交文件為title.cpp,要求放在對應的目錄,正確位置為d:/zj01234/title/title.cpp,而你放到了其他地方,如d:/zj01234/bus/title.cpp。本題零分。
4、如果有任何疑問,可以直接咨詢監考老師。一定要咨詢監考老師。
5、和平時OJ練習中最大的不同是,所有題解文件中,都必須使用freopen。用於打開對應的in文件(數據測試文件)和生成out文件(題解文件)。如果題解文件中,沒有使用freopen。本題也一定是零分。注意OJ提交的時候,不需要使用freopen重定向。
6、使用freopen()函數的時候,平時使用C++的同學,請務必包含 cstdio 這個頭文件,即#include <cstdio>。如果使用萬能頭文件,可以不引用
7、請務必仔細閱讀每個題目,時間是肯定夠的。尤其要仔細推敲“數據規模與約定”這個部分。
8、先做有把我的題目,沒有把握的最后。也就是先拿能得到的分數。比如有些題目解出部分數據集,也是能拿到部分分數的。
9、復賽無法進行實時測試。CCF只是提供了部分測試數據,需要選手自己構造各種測試數據,對自己的代碼正確性進行評估。我們稱為對拍。
10、復賽所謂的提交,就是在指定的位置,將對應的cpp文件保存在這里即可。
11、關於萬能頭。可以使用萬能頭,即#include <bits/stdc++.h>
CSP 復賽樣例
數據規模
下面我們用2018年的第一題title做個簡單分析。
從數據規模與約定中可以看到,本題數據長度就是1 ~ 5個字符。
本題的坑點在於,數據中有包含空格。
零分代碼
參考代碼
如果你按照上面的代碼提交,恭喜你,你將拿到零分。
AC代碼
以下才是滿分的代碼。