發表文章

目前顯示的是 6月, 2018的文章

SPOJ - "TEST - Life, the Universe, and Everything"

圖片
TEST - Life, the Universe, and Everything 題目敘述: Your program is to use the brute-force approach in order to  find the Answer to Life, the Universe, and  Everything.  More precisely... rewrite small numbers from input to output. Stop processing input after  reading in the number 42. All numbers at input are integers of one or two digits. 題目解析: 前面幾句都是廢話可以忽略,但其中 brute-force 有蠻力硬解的意思,就是在意指說這個題目的實作沒有限制執行時間,解題方向會比較廣;輸入數字串 ( 沒有指名長度,即沒有限制 ),並在輸入完成( 注意如何判定輸入完成 )後依序( FIFO )印出直到處理到「42」 。所有輸入數字皆為整數並只有一到兩位數。 作為 Classical 類別裡面的第一題,難度設置很低,但也隱性讓有研修過資工領域資料結構的程式猿們去練習或是實作 queue 類別的意思,算是個很有靈性的入門暖身題。 練習重點:queue使用、理解其概念 或 自行實作。 開始實做: 選用語言為C++,編譯環境為Code::Blocks 17.12。 我們做的點有兩點: 1. 連續輸入數字儲存,後判定輸入結束 2. 依序印出,遇到「42」停止輸出 以下開始實作: 1. 通常連續輸入後中斷,有許多實作的方法,其中while(getline(cin,a))後偵測是否為空字串是作者偏好的方法。下為簡單的實作: SPOJ的題目在沒有要求的情況下,是不需用寫防呆機制的,系統預設好的輸入默認就是在規則內,不會有預期外的輸入情況,但時間允許的話還是要有考慮一切東西進去的好習慣,所以: 已經有判定輸入情況結束程式運行( 空輸入 ),也有簡陋的防呆機制,那我們就可以進行下一步了......接著處理:要如何有效儲存輸入的數字並依照「...