b99902HW 板


LINE

單班計程期中考參考解答 http://www.csie.ntu.edu.tw/~r98922165/C2010MidtermSolution.zip Problem 1 常見問題 1. 計算過程中沒有在每次做完乘法以後 mod 1000 導致溢位問題 2. 沒有用找cycle的方法來避免重複的計算 導致程式執行時間超過限制 3. 找到cycle以後卻不小心算錯了... Problem 2 注意事項 1. 兩個字串長度不相等也有可能是similar 因為字串裡面非英文字母的字元應該要被無視 很多同學因為搞錯這點而失去了很多分數... 2. The length of a string is no more than 100000. 字串的大小應該要宣告成 100000+1 才夠 因為要保留儲存字串結束字元'\0'的空間 3. 程式的執行時間不能太長 比較快的作法是用陣列存兩個字串中a到z出現的"次數" 再進行比對 部份同學先把字串分別排序以後再進行比對 這個作法其實"慢非常多" 另外 執行strlen需要時間 要用變數把strlen的回傳值存起來重複使用 for(i=0; i<strlen(s); i++) { ... } 上面這段應該改成下面這樣 len=strlen(s); for(i=0; i<len; i++) { ... } Problem 3 常見問題 1. 把座標軸的方向弄錯 或是把東和西弄反之類的... 2. 把各種情況用if-else暴力展開 這樣的寫法雖然沒錯 但很容易導致漏改一個小細節就拿不到分數的情況 而且程式碼會變得比較長 寫的時間跟著變得比較久 de bug 也變得比較困難 * 比較簡潔的寫法可以參考解答 或是來助教的 Office Hour 討論 Problem 4 常見問題 1. 比對字串A是否在字串S裡面的時候 沒有注意到超出字串範圍的問題 假設 字串A是"apple" 字串S是"anappleapp" anappleapp apple 上面的例子中 部分同學的程式只注意不要超過字串A的範圍 卻沒注意到字串S已經對齊到超過範圍的地方了 2. 輸出的字串長度可能將近 1000+30x150=5500 因為輸入的字串長度不超過1000 最多有30個指令 每個指令總長度不超過150 每個指令在最極端的情況下會讓1個字元被替代成150個字元(高估) * 如果真的對處理backward指令有障礙... 可以先把三個字串前後顛倒 然後當成forward指令處理 處理完以後要記得再把處理結果前後顛倒回來 前提是你必須會寫處理forward指令的程式 Problem 5 常見問題 1. 自行假設max的最小值為0或其他的值 但是f(x,y)有可能是負數或其他更小的值唷 拿其中一個f(x,y)的值當max的初始值是比較合適的作法 同時別忘了把*index的初始值設成那一個 2. 部分同學宣告陣列儲存每個f(x,y)的值 但是陣列的大小可能比測試資料需要的小 或是使用傳入的n當陣列大小 會因為陣列大小是變數不是常數而 Compile Error 最重要的是 其實這題不需要宣告一個陣列儲存f(x,y)的值 每算出一個f(x,y)就拿去和max比較就好 * Sample Input 和 Sample Output 的用途 各位同學根據題目的敘述寫好程式碼以後,可以在自己的電腦上編譯程式碼。 如果產生出來的程式是正確的,執行程式的時候, 把 Sample Input 的內容輸入程式,程式輸出的資料應該和 Sample Output 相同。 如果程式無法產生出和 Sample Output 相同的結果,表示程式不符合題目的要求, 程式碼上傳到批改系統自然不會拿到滿分。 這次期中考前三題的第一組測試資料都是 Sample Input , 但是助教發現部份同學上傳的程式連第一組測試資料都無法通過。 提供 Sample Input 和 Sample Output 除了幫助各位同學了解輸入和輸出的格式, 同時希望同學們拿來驗證程式的正確性,加速 de bug 的過程, 所以希望各位同學在上傳程式碼以前,能夠先在電腦上測試執行結果。 * C2010 線上批改系統 一份程式碼上傳到"C2010線上批改系統"之後,程式碼會被編譯並執行。 產生出來的程式會被輸入一些測試資料,如果程式"正常地"執行結束, 批改系統會把該程式的輸出資料拿去和正確答案做比對, 根據比對的結果相同與否給分數。 除了答案以外,請不要printf任何不相關的東西, 像是"請輸入數字"的提示用語,會讓批改系統認為答案是錯的! 以上是助教把大部份期中考的上傳程式碼看過之後 所整理出來的常見問題或注意事項 感謝大家的耐心閱讀 如果對於自己的程式碼為什麼沒有拿到滿分還是有疑問 歡迎來助教們的 Office Hour 詢問 * 曹佐碩: 星期一 12:00-14:00 @ CSIE R334 * 陳柏龍: 星期二 13:20-14:10, 星期四 13:20-14:10 @ CSIE R217 * 蔡青樺: 星期五 16:00-18:00 @ CSIE R217 助教們的 Office Hour 就是在特定的時段 助教會在特定的地點等大家來問和課程相關的問題 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.46
1F:推 math120908:推!助教辛苦了<(_ _)> 11/10 20:26
2F:→ didiwu:喔不…原來我死在S的字串長度上囧 11/10 22:19
3F:推 s864372002:到期中考還有人會輸出提示訊息喔囧。 11/10 23:41
4F:推 pigalan:推!! 助教辛苦了m(_ _)m 11/13 01:03
5F:推 skyly:樓上卡恩!! <(_ _)> 11/13 23:16







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP