本站遷移

因為我最近租用了網路空間以及網域,
故本站已遷移至新網站~
這邊的資訊已經正在進行搬移的工作~
希望各位可以到新網站去逛XD

New Website:
http://knightzone.org/

搜尋此網誌

2011年1月27日 星期四

[UVa]110:Meta-Loopless Sorts

新站連結於http://knightzone.org/?p=1330

[Zerojudge]a016: 數獨(SUDOKU)

這題就硬爆,檢查每個部分是否符合數獨的要求即可。

P.S. 我的程式碼中寫了一個奇怪的函式check()XD""

[C++](6ms, 674KB)

2011年1月22日 星期六

[UVa]574:Sum It Up

每個數有 有加或沒有加 兩種狀況,
直接利用遞迴把所有狀況都跑出來看看即可得解。

P.S.
為了避免印出重複的組合,
在你有把某數加進去的情況,
重複再找相同值的數是OK的;
但是若你已經不打算把這個數字加進去的時候,
記得要跳掉所有跟這個數相同值的數。
例.
今天你找到+2,
那麼你可以再繼續遞迴+2沒關係,
這樣不會重複。
除非你是已經打算不再找+2了,
那麼之後都不要讓遞迴再遞到+2。

[C](0.012)

[UVa]11121:Base -2

這題可以先將輸入的數字的絕對值換成2進位制,
例如:7 => 111、-7 => 111。
再來從小到大看看它由哪些2的幾次方組成,
如果該次方與輸入的數字同號時,換成base(-2)的時候,也一樣會有該次方;
如果該次方與輸入的數字不同號時,換成base(-2)的時候,就需要該次方與該次方+1兩個所組成。
例如:
7 = 111 有2^0、2^1、2^2。
2^0 -> (-2)^0 直接換過來即可。
2^1 -> ((-2)^1 + (-2)^2) 該次方+該次方的下一個次方即可組成。
2^2 -> (-2)^2 直接換過來即可。
加起來會有 1個(-2)^0,1個(-2)^1,2個(-2)^2,
2個(-2)^2要進位,但是對於base(-2)又得再利用(-2)^3+(-2)^4才能組起來,
所以答案就會是 11011 。

[C](0.044)

2011年1月21日 星期五

[UVa]755:487--3279

先將每一種不同格式的電話號碼全部換成7位數整數,
利用一個hash紀錄每一種電話號碼的出現的次數,
將出現兩次以上的電話號碼紀錄到一個陣列裡面,
再利用quicksort將這個陣列以電話號碼來排序,
最後從頭將電話號碼及其出現的次數輸出來即可。

[C](0.420)