10月26日,將舉行2024 CSP-J/S第二輪認(rèn)證,也就是CSP-J/S的復(fù)賽。特別是第一次參加復(fù)賽的同學(xué),參賽時(shí)務(wù)必注意以下細(xì)節(jié)。
賽前準(zhǔn)備
1、了解自己的備考狀態(tài),立足現(xiàn)實(shí),確立自己的競(jìng)賽目標(biāo)。
2、合理制定學(xué)習(xí)規(guī)劃并執(zhí)行,適當(dāng)參加模擬賽,提前適應(yīng)比賽狀態(tài)。
3、規(guī)劃出行路線,并提前一天看賽場(chǎng)。 開放機(jī)房后,找到自己的比賽位置,測(cè)試鍵盤和鼠標(biāo)是否正常使用。 建議打開一個(gè)文件,測(cè)試是否能正常保存。
4、正式比賽時(shí),開始后超過規(guī)定時(shí)間不得進(jìn)入比賽現(xiàn)場(chǎng),注意不要遲到。
5、準(zhǔn)備好準(zhǔn)考證、身份證、筆等參賽必備用品。 比賽現(xiàn)場(chǎng)禁止攜帶任何外接設(shè)備,可適量準(zhǔn)備補(bǔ)充能量的食品,如巧克力等。
比賽時(shí)關(guān)鍵
一、文件操作(重點(diǎn)關(guān)注)
CSP-J/S復(fù)賽比賽和我們平時(shí)的考試是不一樣的,必須要有文件輸入輸出,最終才會(huì)得到分?jǐn)?shù)。
注意:一定要寫文件操作!!!
二、注意“四名”
包括文件夾名、程序文件名、輸入文件名和輸出文件名。每道題這部分的英文名稱都是一樣的,注意區(qū)分大小寫,一定要多檢查幾遍。
正確創(chuàng)建文件夾和文件存放示例:
第二輪比賽與我們平時(shí)在OJ上做題形式不同,需要我們將文件放入規(guī)定的目錄,然后匯總提交,由系統(tǒng)統(tǒng)一評(píng)測(cè)后得到分?jǐn)?shù)。那么應(yīng)該在哪里寫代碼呢?
一般情況下,主辦方會(huì)在計(jì)算機(jī)的E盤(或者D盤)根目錄下建立以考生準(zhǔn)考證編號(hào)命名的文件夾,考生應(yīng)檢查該文件夾名稱是否正確(包括編號(hào)及大小寫字母)。如有錯(cuò)誤須立即上報(bào)監(jiān)考人員,由監(jiān)考人員進(jìn)行更改。
確認(rèn)無誤后,考生須為每道試題再單獨(dú)建立一個(gè)子文件夾,子文件夾名與對(duì)應(yīng)的試題英文名相同(參見試題封面頁)。考生提交的每道試題的源程序(.cpp文件)也必須按照對(duì)應(yīng)的試題命名,分別存放在其子文件夾下。
如果子文件夾或者某一個(gè)文件缺失,都會(huì)導(dǎo)致爆零。
文件命名錯(cuò)誤。在創(chuàng)建文件時(shí)一定注意文件名是否符合要求!文件名和cpp文件名與題目名相同,都必須使用英文小寫,文件夾如果命名出錯(cuò),那么評(píng)測(cè)軟件無法找到相應(yīng)的代碼,結(jié)果自然是0分。
注意事項(xiàng):
仔細(xì)檢查選手的目錄名和題目的目錄名,并確定拼寫正確。
源程序文件名(.cpp文件)必須使用英文小寫,確定拼寫正確。
比賽結(jié)束時(shí)只保留源程序文件(.cpp文件)即可,其它文件可以刪除。
三、文件輸入輸出
除了答題方式不同,考試還要求每道題從指定的文件輸入數(shù)據(jù),并將結(jié)果保存到指定輸出的文件中。以上要求可以通過重定向輸入輸出來完成,方法如下。
正確性是關(guān)鍵:文件輸入輸出必須100%正確,否則可能導(dǎo)致零分。
CSP-J/S認(rèn)證要求:使用文件輸入輸出,具體操作如下:
輸入文件:`freopen("xxxx.in", "r", stdin);
輸出文件:`freopen("xxxx.out", "w", stdout);
注意:"xxxx"代表題目的英文名字。
注意事項(xiàng):
輸入輸出的文件名必須使用英文小寫,并與試題封面頁要求的輸入文件名和輸出文件名相同,不能有多余的空格。
如果注釋掉了文件重定向的代碼,等程序測(cè)試無誤后,一定要記得去掉注釋。
四、頭文件
頭文件太多時(shí),容易忘寫using namespace std;
但是用了using namespace std;之后容易產(chǎn)生的問題是:自己的變量名和std命名空間的變量名沖突,而且在Windows下編譯器不報(bào)錯(cuò),在Linux下報(bào)錯(cuò)。所以自己的變量名不要使用hash、x0、x1、y0、y1,time、next、pipe等。可以將變量的首字母大寫或者定義成局部變量。當(dāng)然,time、next、pipe等作為結(jié)構(gòu)體的成員名是沒問題的。
五、變量初始化
變量在使用之前忘了初始化,里面的值是隨機(jī)的,結(jié)果就會(huì)出問題,所以使用的時(shí)候不要忘記初始化,可以定義成全局變量,系統(tǒng)會(huì)自動(dòng)初始化。
六、不能使用gets函數(shù)
由于gets函數(shù)會(huì)造成安全隱患,在C++中已經(jīng)被棄用,所以注意不要使用gets函數(shù)。可以使用:fgets,getchar,scanf,cin.getline或其他讀入方式。
七、數(shù)組
C++里數(shù)組有時(shí)候可能會(huì)出現(xiàn)莫名其妙的問題,所以一定要記得把數(shù)組開大點(diǎn),并且賦初值。
最好是開成全局變量,因?yàn)樵趍ain函數(shù)里定義的是局部變量,給你的空間會(huì)比較小,二維數(shù)組很容易就爆了。
八、STL
STL主要是依靠各種容器和函數(shù)來實(shí)現(xiàn)各種功能,但是STL有些不是很常用,比如隊(duì)列和棧,手寫很方便,而且快一些,主要就用堆(priority_queue)、字符串(string)和動(dòng)態(tài)數(shù)組(vector)。
九、時(shí)空復(fù)雜度
1000毫秒內(nèi)較大循環(huán)次數(shù)不要超過10^8(10^8有點(diǎn)懸,10^7不超時(shí))。空間限制在128MB時(shí),數(shù)組元素類型為int時(shí),元素個(gè)數(shù)較多別(約3*10^7)
十、數(shù)據(jù)范圍
我們?cè)跒閿?shù)組元素賦值為無窮大時(shí),可以是1e9+1,或者0x3f3f3f3f=十進(jìn)制1061109567,0x7f7f7f7f=十進(jìn)制2139062143,int的范圍是-2147483648~2147483647。所以程序中的無窮大可以定義為1e9+1或0x3f3f3f3f。
十一、其它注意事項(xiàng)
1、再次提醒,考試結(jié)束前請(qǐng)檢查文件夾名,文件夾位置,文件名以及文件輸入輸出。
2、注意數(shù)據(jù)類型,需要時(shí)請(qǐng)使用long long或?qū)懜呔取?十年OI一場(chǎng)空,不開long long見祖宗)
3、注意數(shù)組大小,數(shù)組太大將無法運(yùn)行導(dǎo)致0分。一個(gè)int為4字節(jié),long long、double為8字節(jié),數(shù)組大小要在 3 × 1 0 6 3\times10^6 3×106以內(nèi)。也不要數(shù)組太小,小心RE。
4、不要忘記變量初始化,全局變量會(huì)自動(dòng)初始化。
5、注意下標(biāo)不要越界,比如背包j-w[i]時(shí)需要確實(shí)其大于等于0。
6、若使用直接輸出進(jìn)行調(diào)試,比賽結(jié)束前一定要再檢查一遍輸出的中間結(jié)果內(nèi)容是否被刪除,包括多余的換行。
7、涉及到有無解,可以直接輸出無解騙分。
8、檢查是否直接除以0。
9、scanf讀取變量不要忘記加地址符。
10、不建議使用快讀,關(guān)閉輸入輸出同步流即可。
11、編譯記得開-std=c++14
12、輸出格式不要出錯(cuò),忘記輸出換行或輸出多個(gè)空格,如輸出一行一定要輸出換行。
13、不確定要寫暴力。有想法且時(shí)間足夠須對(duì)拍后作為自己的最終代碼。
14、優(yōu)先隊(duì)列為priority_queue(默認(rèn)大頂堆),哈希表unordered_map,不要拼錯(cuò)。
15、double的比較需要使用fabs,不能直接==。
例如:
16、等監(jiān)考老師收完代碼再離場(chǎng)。
C++編程課程
信息學(xué)系列賽事
升學(xué)規(guī)劃
免費(fèi)試聽/測(cè)評(píng)
為孩子規(guī)劃一個(gè)美好的未來。
如果你喜歡本文,請(qǐng)分享到朋友圈,想要獲得更多信息,請(qǐng)關(guān)注我。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.