Skip to main content

Posts

Showing posts from July, 2015

【UVa】10038 - Jolly Jumpers

英文題目 傳送門 ,中文題目 傳送門 如果一串數列有n個元素,其兩兩相減產生的絕對值,可以事後由小而大排序成1~n-1的話,便稱為Jolly Jumper數列。 所以根據題目附上的範例 inputArray_1[] = 1 4 2 3 abs_of_difference[] = 3 2 1 ==>Jolly inputArray_2[] = 1 4 2 -1 6 abs_of_difference[] = 3 2 3 7 ==> Not Jolly

【UVa】136 - Ugly Numbers

英文題目 傳送門 ,中文題目 傳送門 目標是要找出2, 3, 5的倍數,並且是由小而大算起的第1500個! 最開始的想法是由小而大一個個的找,一開始不知道著了什麼魔,一直覺得得用遞迴來做,設計了devideFactors函數,如果遇到可以被5, 3, 2整除、而且商為1的數就一層層的return 1回去,如果沒有整除那就再丟給deviceFactors去繼續計算,直到沒有辦法被5, 3, 2整除,就會return 0,做為停止的flag值。

【UVa】272 - TEX Quotes

英文題目 傳送門 ,中文題目 傳送門 程式的流程設計是這樣的: 使用 gets 收下字串到字元陣列 inputString 初始化用來儲存輸出字元陣列的 outputString ,以及記錄 outputString 目前放到哪個字元的 outputIndex 注意!這邊的 inputString 跟 outputString 建議設到10K,不然會給Runtime Error 注意!這邊不需要初始化用來判斷使用哪個引號的 flagQuote ,用了反而會得到WA... 一一比對每個字元, 如果不是雙引號,則將該字元直接儲存到 outputString , outputIndex 加一 如果出現雙引號("),則根據 flagQuote 數值,在 outputString 中放入左雙引號或右雙引號, outputIndex 加二 最後使用 puts(outputString) 印出字串

【UVa】10055 Hashmat the Brave Warrior

英文題目 傳送門 ,中文題目 傳送門 看了看題目,解題過程有以下幾個重點 輸入輸出不會大於2^32,但是2^32本身就超過long int可以表述的範圍了,所以要用long long int,在scan跟printf要用%lld來截取跟輸出 題目說Hashmat's soldier number is never greater than his opponent.是騙人的!如果只將敵人數目-Hashmet兵將數目是不會過的...需要加入判斷式決定減數跟被減數

【UVa】10071 Back to High School Physics

早上跟 102纏鬥 許久,突然來一題這麼簡單的突然有點傻眼...開始懷疑這份 難度分級表 的正確性 :P 英文題目 傳送門 ,中文題目 傳送門 解題之前,如果有國中學過v-t圖的概念的話會比較好解題,因為是等加速度,斜率不變,所以這題的v-t圖會長這樣:

【UVa】102 Ecological Bin Packing

英文題目 傳送門 ,中文題目 傳送門 最最開始的想法是,取每個桶子裡最多玻璃瓶的種類做為該桶要裝的顏色,But會延伸出很多很多問題,像是如果剛好有兩個桶子有相同的最多數量時,需要再計算兩個桶子分別被指定為該顏色下的移動數,然後再比較,若是三個桶子的最大數目都一樣的話就更複雜了... 在過程中發現另外一種思考方式,如果是用瓶子的總數 - 每個桶子指定顏色的瓶子數,取最小值,這樣也是最少移動次數的配置,幸好題目指有三種顏色,六種可能性還hold得住。