{%hackmd @hipp0/Hippotumuxthem %} # cpe 考生使用手冊 測環境的時候可以使用手機的!!!! 如果遇到問題記得問考官(尤其是不小心切到輸入法) ## 建議 - 讀完題目,記得先寫下你的流程 - 不要太在意寫的分數,先以題數為主,如果一直卡請記得即使停損,換題,或者乾脆重寫 - 保持精神,前面有四題練習題,可以先試試看各種功能,不一定要解(可以只寫第一題就好),然後看一下第二題題目熟悉一下英文閱讀。 ## 提醒 - 編譯器選擇 mingw (c++),也可以直接用 python 如果看完題目覺得用 python 比較好寫的話 - 可以試試以下確定可以編譯。 ```cpp= #include <bits/stdc++.h> using namespace std; ``` ## 瘋狂程設下載 http://coding-frenzy.arping.me/ ![image](https://hackmd.io/_uploads/SJw8FH7XR.png) 不要害怕 這肯定安全的? (記得解壓縮放在 Codeing .... 的資料夾底下) 再來下載 NET Framework 2.0 (CPE 提供的連結已經沒了) https://www.microsoft.com/zh-tw/download/details.aspx?id=6041 接下來裝個 mingw 在(預設資料夾),有裝在預設就不用了,請注意,大家應該再裝 CP editor 或是在其他地方裝過了,所以這邊如果要裝的話不要再放進編譯環境了,專門給瘋狂程設用就好 ## 編譯器選擇 - MinGW - 千萬不要選 codeblocks ## 各種輸入輸出 ### 單筆輸入/n筆輸入 最常見的,大家在 OJ 上也已經練習很多次了 把 cin>>t 註解 就是單筆 多筆就是不要註解 ```cpp= #include <bits/stdc++.h> using namespace std; void solve() { } int main(void) { int t = 1; //cin >> t; while (t--) { solve(); } } ``` ### 讀入直到 EOF (讀至檔案結束) 我還沒有出過,使用 while (cin >> x) 先輸入每筆測資的第一個變數,然後丟進去 solve(型態 變數) 再繼續輸入題目剩下的變數 ```cpp= void solve(int n) { int k; cin >> k; // do something } int main(void) { while (cin >> t) { solve(t); } } ``` ### 讀至 0 結束 跟剛剛差不多,只需要多一個 if ```cpp= void solve(int n) { int k; cin >> k; // do something } int main(void) { int t; while (cin >> t) { if (t == 0) break; solve(t); } } ``` ### 特殊 一次讀取一列資料直到檔案結束 一列的資料中可能包含空白,無法當一般字串處理,因此需要一次將一整列 資料進行讀取。 ```cpp= #include <bits/stdc++.h> using namespace std; void solve(string s) { // do something } int main() { string s; while ( getline(cin,s) ) { cin.ignore(); // 如果之後讀取int之類的才不會出錯 solve(s); } return 0; } ``` ## 完整功能 https://cpe.cse.nsysu.edu.tw/doc/CPE_manual_231128.pdf ## 檢討考試 https://hackmd.io/@ncuma-algorithm/HkUrlI77R#/