# CPE檢定考 所有的程式碼都蒐集在這裡: https://github.com/alice90270/NTHU_CPE :::info 這半年來的考試趨向已經不像文義那時候簡單了 不太考括號題,反而出現一堆BFS,DFS,tree的題目.... 同一次考試會有極簡單跟級難的題目 例如這次考 - GCD & LCM這種智障題 - Can you escape這種雞巴題 我實在想不到為何難度差異這麼大...只好背了 ::: ## Alice小筆記 1. TLE 因為strlen()作一次很花時間,放在for裡面會跑很多次 解決方式:把strlen拉到迴圈以外 length=strlen(inputString); for(i=0;i<length;i++) 2. Runtime Error 陣列要開夠大,大概array[10^6]就是極限了 這時候就需要malloc 3. n筆測資輸入 while(scanf("%d",&n)!=EOF){ while(n--){ //程式執行n次 } 4. 第一個輸入後加 %c 來處理 "\n" scanf("%d%c", &testcase, &sp); 或第二個輸入前加空白(忽略所有換行跟空白) scanf(" %c", &input) 不然"\n"會被之後的輸入吃進去 - Move - Mouse Maze - Parentheses Matching 5. 處理含空白以及換行輸入 gets(string) 6. EOF結尾 while(gets()) while(scanf()!=EOF) 7. int 改用long long int大的測資比較不會有錯 8. presentation error 每一行的最後面(換行前)輸出不能有空白 9. scanf("%s") 遇到空白會吃不進來 改用gets() 10. Sort ``` C qsort(array, strlen(array), sizeof(int), cmp); int cmp(const void *a, const void *b) return *(int*)a- *(int*)b; ``` 11. Malloc 要開超大陣列卻Runtime error的時候... ``` C char *buf; buf = (char*)malloc(sizeof(char)*len*pow(2,times)); ``` 12. struct 有兩種寫法,意義一樣 ``` C // 1 typedef struct{ int name[40]; int score; }variable; // 2 struct variable{ int name[40]; int score; }; ``` ## 重要刷題 @重複率高@ @10576 - Move ```C typedef struct cc{ int front; int next; }node; node *list; list = (node*)malloc(sizeof(node)*(n+1)); list[3].front; ``` @10683 - Look and Say @%10860 - Queueing ``` f ,p POP OUT PUSH ``` @%10953 - Simply Fractions @*11086 - K Characters @11094 - Binary Addition @*11140 - Parentheses Matching @*11142 - Matrix Multiplication @11271 - Count the Leaves @*11274 - GCD and LCM ```C long long int gcd(long long int a , long long int b){ if (a%b==0) return b; else return gcd(b, a%b); } ``` @11221 - Mouse Maze *近期考古* *9081 - Counting Sort *11053 - Lexicographic Order *11173 - Adding Decimals *11215 - Maximum Frequency *11217 - Encryption *11272 - K Characters *11425 - Carry In *11434 - Count the Value %10275 - Perfect Shuffle %10276 - Can a Permutation Be Sorted By a Stack 10479 - Islands 10748 - Trick or Treat 10801 - Fill the Boxes 10802 - Minimum Spanning Tree 10805 - Thousands Separator 10824 - hanoi 10862 - Calendar 10951 - Inversion Pair 10985 - Column Sum and Row Sum 10988 - Stable Sort 11005 - Lagrange's Four-Square Theorem 11055 - Vector Intersection 11091 - Suffix Prefix 11143 - Tree 11276 - Subset Sum 11281 - Set Intersection ## 資訊之芽 http://tw-csie-sprout.github.io/c2016/#!slides.md ## 育輝精選 http://codepad.org/U5W0XdvC MST code http://acm.cs.nthu.edu.tw/problem/10803/ stable sort http://codepad.org/KYLYzvcI http://codepad.org/AuPzAVLD http://140.114.86.238/problem/9104/ 這題也出過 http://140.114.86.238/problem/10861/ http://codepad.org/igeOgT7F 誇湖這題也很重要 http://140.114.86.238/problem/10862/ 日曆 http://codepad.org/FCyZkVvx # 考古題 105學年度 105學年下學期第一次程式檢定 Parentheses Matching http://codepad.org/0FQclN9N 要用stack 11141 - Maximum Frequency http://codepad.org/9ZnluCFS 11142 - Matrix Multiplication http://codepad.org/voSpzG6i 輸出注意不能有空白在換行之前 ## 文義衝刺班精選 103~105出題達5次以上 -- 出題頻率極高: 10682 - Parentheses Matching http://acm.cs.nthu.edu.tw/problem/10682/ 11086 - K Characters http://acm.cs.nthu.edu.tw/problem/11086/ 11217 - Encryption http://acm.cs.nthu.edu.tw/problem/11217/ 11281 - Set Intersection http://acm.cs.nthu.edu.tw/problem/11281/ 11291 - Mouse Maze http://acm.cs.nthu.edu.tw/problem/11291/ 11343 - Simply Fractions http://acm.cs.nthu.edu.tw/problem/11343/ 11089 - Suffix Prefix http://acm.cs.nthu.edu.tw/problem/11089/ 根據以往經驗,第二次出題會跟第一次重複2~3題 因此要把第一次出題之題目練習過,通過機率會大幅提升 http://acm.cs.nthu.edu.tw/contest/1144/