Ad hoc
UVA 100
非常簡單的經典題 也就是著名的考拉兹猜想
他認為一個數如果是奇數 * 2+1
如果是偶數就除 2
此循環下來必定為得到 1
這題目就只是要你把區間裡面的所有數字的循環次數算出來
並且取出最大的循環次數
注意一開始的 a 跟 b 有可能不是 a~b,有可能為 b~a
uva 12036
每列都可以隨意置換,如果每個數字超過五個,利用鴿巢原理 可以發現欄一定會有碰撞 並且不會影響到別的數字,下面的例子是數字有四種而且各四個
1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1
只要斜著往下放就可以了
Copy
//
// GGGGGGGG…
uva 10339
一開始想到別的地方去了,其實兩邊差距超過 12 小時 結果就會一樣,不過因為有精度的問題,參考了 discuss 上面的不用精度解法
首先 每秒兩個手錶相差的值為 y=(abs (n-m)/86400)
而我們需要相差多少次才會剛好是 12 小時呢?
t=(43200/y)
所以…
uva 11313
很像換可樂的問題,套公式即可 O (1) 解決,不過如果有剩餘的話 算的是失敗 Copy
//
// GGGGGGGGGGGGG CCCCCCCCCCCCC AAA
// GGG::::::::::::G…
uva 10015
我把他歸類在 Ad hoc,因為已經有固定的解法了 只是這個是動態變換數的數字
Copy
//
// GGGGGGGGGGGGG CCCCCCCCCCCCC AAA
// GGG::::::::::::G…