一、題目
二、做題筆記
1.10010 - Where's Waldorf?
技巧:採用二維數組存儲及遍歷字符,使用ctype對字符進行大小寫轉換,注意數組邊界即可解決問題。
答題記錄:AC
2.10361 - Automatic Poetry
技巧:putchar、gets輸入輸出函數使用,使用由字符串首地址加上偏移量形成的指針快速輸出字符串後半部分;數組來存儲匹配的字符索引值('<''>')方便定位。
採用標誌位數組存儲多個分界字符索引位置。
答題記錄:AC
3.537 - Artificial Intelligence?
技巧:採用getchar判斷及“過濾“字符。
答題記錄:AC
4.409 - Excuses, Excuses!
技巧:採用標誌位讀取每行中單詞的首尾索引。
答題記錄:AC
5.10878 - Decode the tape
技巧:計算二進制表示字符串的值,可利用查表法快速找到對應位的係數並求解:list[8] = 1 2 4 8 16 ...(其他進制也是如此,適用於位數較少情況)。
答題記錄:AC
6.10815 - Andy's First Dictionary
知識點:字符串字典序排序和字符串比較。
技巧:先開闢大區間讀入所有字符串,利用qsort對字符串進行排序(自己寫比較函數,相當於strcmp),接着通過strcmp比較字符串來輸出不同的字符串(避免相同字符串)。
注意:嘗試使用strcmp作爲qsort參數進行字典排序,但發現由於參數不一致報錯。
答題記錄:AC
7.644 - Immediate Decodability
比較字符串局部時,可以建立緩存複製局部,結尾加入‘\n',再使用strcmp比較是否局部重複。
答題記錄:WA
錯誤點:
1.數組長度沒開闢夠(由於索引關係需要長度+1)
2.兩兩遍歷比較不完全,長度不同時需分開處理,而不是隻比較一種情況。
8.10115 - Automatic Editing
知識點:字符串查找及替代。
技巧:這裏利用的是字符串通過數組下表移位進行查找和替代,更簡約的寫法是利用字符串的幾個函數進行處理,但可能沒有那麼高效。
答題記錄:AC