/* 問題思路: 將三個寶石針分為a,b,c ,如果只有乙個金片,只需移動一次;兩片,需要將第一片移到b,第二片移到c,再將第一片移到c,相當於移動一次c加上移動兩個一片的;
三片,將上面兩片移到b,將第三片移到c,再將上面兩片移到c,相當於移動了兩次兩片的加上一次一片的;同理,四片,相當於移動兩次三片的加上一次一片的。即 f(n)=f(n-1)*2+1 */
//漢諾塔(一) 記憶體超限,時間超限。//#include//int f(int m)
////int main()
//// return 0;
//}
想了好久卻錯啦
/*f(n)==f(n)*2-1 可推出f(n)==2^n-1 轉化為快速冪問題,解決時間問題 */
//漢諾塔(一)快速冪(二進位制)//#include//#define p 1000000
//long long f(int n)
//// return sum;
//}//int main()
//// return 0;
//}
不懂請看二進位制,明天會發出來
這是博主的第一篇部落格哦!
nyoj 88漢諾塔(一)(快速冪)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 在印度,有這麼乙個古老的傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有乙個...
漢諾塔 大數非遞迴(快速冪取模)
如果你對快速冪取模沒有概念的話,強烈建議先去把快速冪以及快速冪取模看完。強烈推薦此篇 鏈結nyoj 漢諾塔1 顯然是一道快速冪求模運算的,因為金片數量已經達到了1000000 好多 所以用簡單的遞迴或者非遞迴演算法是無法實現得,時間空間複雜度肯定是ac不過的。但是為什麼用到快速冪呢 給乙個漢諾塔的通...
python 漢諾塔 Python漢諾塔
import turtle class stack def init self self.items def isempty self return len self.items 0 def push self,item def pop self return self.items.pop def ...