取自:NPSC 補完計畫
http://www3.tcgs.tc.edu.tw/npsc/
pA.蚯蚓國的謎題
簡單的暴力解, 用三層迴圈 i=1~3、j=i+1~4、k=j+1~5,
乘起來的平方是所有數乘積就是一種分法,
第6個永遠算另一邊的, 這樣就不會有重覆的分法了,
而如果所有數乘積不是完全平方數也不用再去算了, 直接輸出 0。
pB.重建薑餅部落
要把所有點連在一起, 這就是最小生成樹了,
因為所有的點都可以連到其他的點,
所以邊的數量是 N*(N-1)/2,
因此用 Prim 的效率會比 Kruskal 來得高,
而答案是最小生成樹裡的最長邊的一半。
演算法筆記http://www.csie.ntnu.edu.tw/~u91029/SpanningTree.html
pC.胖胖天大大薯
先把這些數字從小排到大,
然後一個一個取,
如果出現過了, 就把它變成兩倍加到另一個空的佇列,
之後就從佇列跟這串數字找比較小的出來,
如果佇列的數字已經出現過, 則直接丟棄,
比較特別的是這串數字的第一個數字和佇列的一樣,
則是拿佇列的來處理, 而原本的數字變兩倍後再加到佇列的後面,
直到這串數字用完以及佇列也沒有數字為止,
就可以找到答案。
pD.RPG 遊戲之料理奇蹟
字串苦工題, 會字串拆解應該就沒什麼難度。
pF.可魚果分配問題
取所有數的最大公因數,
先取前兩個數的最大公因數,
得到的數再跟第三個數取最大公因數,
反覆一直做到最後一個,
就可以得到答案。
http://www3.tcgs.tc.edu.tw/npsc/
pA.蚯蚓國的謎題
簡單的暴力解, 用三層迴圈 i=1~3、j=i+1~4、k=j+1~5,
乘起來的平方是所有數乘積就是一種分法,
第6個永遠算另一邊的, 這樣就不會有重覆的分法了,
而如果所有數乘積不是完全平方數也不用再去算了, 直接輸出 0。
pB.重建薑餅部落
要把所有點連在一起, 這就是最小生成樹了,
因為所有的點都可以連到其他的點,
所以邊的數量是 N*(N-1)/2,
因此用 Prim 的效率會比 Kruskal 來得高,
而答案是最小生成樹裡的最長邊的一半。
演算法筆記http://www.csie.ntnu.edu.tw/~u91029/SpanningTree.html
pC.胖胖天大大薯
先把這些數字從小排到大,
然後一個一個取,
如果出現過了, 就把它變成兩倍加到另一個空的佇列,
之後就從佇列跟這串數字找比較小的出來,
如果佇列的數字已經出現過, 則直接丟棄,
比較特別的是這串數字的第一個數字和佇列的一樣,
則是拿佇列的來處理, 而原本的數字變兩倍後再加到佇列的後面,
直到這串數字用完以及佇列也沒有數字為止,
就可以找到答案。
pD.RPG 遊戲之料理奇蹟
字串苦工題, 會字串拆解應該就沒什麼難度。
pF.可魚果分配問題
取所有數的最大公因數,
先取前兩個數的最大公因數,
得到的數再跟第三個數取最大公因數,
反覆一直做到最後一個,
就可以得到答案。
最後修改紀錄: 2013年 11月 25日(一.) 13:56