2015年10月28日 星期三

Uva 623 500!

#uva 623 #500!

題目來源:https://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCMQFjABahUKEwj8_sWTt-XIAhXGGJQKHfQQBaY&url=https%3A%2F%2Fuva.onlinejudge.org%2Findex.php%3Foption%3Donlinejudge%26page%3Dshow_problem%26problem%3D564&usg=AFQjCNFKlOvVQ16qrVLkY6rPajXogo_Ydw&sig2=9n3XYj69Yzfy7Ilyi0noXQ

題意:1~1000!

程式碼:





Uva 495 Fibonacci Freeze

#uva 495  # Fibonacci Freeze
題目來源: https://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0CCsQFjACahUKEwjIovKBteXIAhXKG5QKHQRBDyE&url=https%3A%2F%2Fuva.onlinejudge.org%2Findex.php%3Foption%3Dcom_onlinejudge%26Itemid%3D8%26page%3Dshow_problem%26problem%3D436&usg=AFQjCNHrnRFwsT4S7PfjJC0SMNVOhCniLg&sig2=4cde6Qx6bZLXPk83HzGT-A


題意:大數的費式數列,用C寫


程式碼:



#想睡了~~~期待真愛營 =)

Uva 10023 Square Root [java]

#uva10023  #Square Root 

題目來源:https://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAAahUKEwjW39alsuXIAhWFJZQKHdgtBKM&url=https%3A%2F%2Fuva.onlinejudge.org%2Findex.php%3Foption%3Dcom_onlinejudge%26Itemid%3D8%26page%3Dshow_problem%26problem%3D964&usg=AFQjCNEdusCFKiTWW21XfH1OuCHDocq1fg&sig2=R2tOaN_fMySbYllJPVYpaQ

解法:利用Binary Search

程式碼:


#原來工讀金申請表沒簽名,難怪薪水一直沒下來QAQ

#今天的臨時小打工好開心喔 ,一個心花怒放,而且看到自己設計的海報被貼在牆上,成就感UP UP


2015年10月21日 星期三

Uva 756 Biorhythms

#uva 756 #Biorhythms


題意:中國餘數定理的裸題,

INPUT=>a b c d 
OUTPUT=> ans

其中  (ans+d)%23==a,(ans+d)%28==b,,(ans+d)%33==c

胡言亂語:因此可以先求出(ans+d)在-d就是答案了!

這題簡單來說就是中國餘數定理(點我),帶入公式就是答案的 =)

程式碼:


有點想睡...但好像原本要讀計組的說@@

Uva 10125 Sumsets

#uva 10125 #Sumsets

題目來源:http://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=1066

題意:第一個數字是N,表示接下來的序列會有幾個數字需要計算,當N等於0,就可以結束程式;需要判斷序列中是否有四個數字符合 a+b+c = d,並輸出最大的d

計算流程:

(1) 這題直接跑迴圈會過

(2) a+b+c=d --> a+b = d-c
我先計算 所有 d-c 的數,再計算a+b
最後比對是否有a+b==d-c

如果有,接著判斷a b c d 有無重複

程式碼:








Uva 10008 What's Cryptanalysis?

#uva 10008 #What's Cryptanalysis?

題目來源:https://uva.onlinejudge.org/index.php?option=onlinejudge&Itemid=99999999&category=12&page=show_problem&problem=949


題意:計算字母出現的次數

程式碼:


2015年10月9日 星期五

Uva 175 Keywords

#uva175
題目來源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=111

題意:
P:間距 、Keywords_1、Keywords_2.....、Keywords_n
T:各種標題!@#$%^^&*((()

將文章T中的單字倆倆配一對,若兩個Keywords中間所格的字母<=P給的間距,則符合並輸出T的編號

胡言亂語:

程式碼:





Uva 10341 Solve It

#uva 10341
題目來源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1282

胡言亂語:f( )這個函數是個遞減數列

程式碼:


2015年10月5日 星期一

Uva 714 Copying Books

#uva 714 #binary search

題目來源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=655

題意:先給有N筆測資,以前的書是手抄的,現在有k本書和m位工人,希望你寫出一個程式,讓每位工人分到的頁數是相近的,且每位工人都要分到,若有多組解,以index較大的工人,頁數較多,並以 ' / ' 分隔,輸出答案於一行。

胡言亂語:
一開始以為要排序,就將book依頁數由小排到大,但最後發現根本不用XD。
這題使用的方法是Binary Search,演算法如下:



當upper_bound<lower_bound的時候就可以跳出迴圈(loop),一開始是想說找到了,就可以跳出來,但發現有時候找到的非最小值,所以要持續找到最小值才正確

而最後輸出的部分,因為題目要求若有多組解,後面工人的頁數盡量多一點,別想太複雜,從後面分配輸出就好了XD,思考一下,最後用的stack,因為可以從後面開始存,最後pop掉就好:




[補]stack的用法:



程式碼: