• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋

            題目地址:
                     http://acm.hdu.edu.cn/showproblem.php?pid=2077
            題目描述:
            Problem Description
            還記得漢諾塔III嗎?他的規(guī)則是這樣的:不允許直接從最左(右)邊移到最右(左)邊(每次移動(dòng)一定是移到中間桿或從中間移出),也不允許大盤放到小盤的上面。xhd在想如果我們?cè)试S最大的盤子放到最上面會(huì)怎么樣呢?(只允許最大的放在最上面)當(dāng)然最后需要的結(jié)果是盤子從小到大排在最右邊。
             

            Input
            輸入數(shù)據(jù)的第一行是一個(gè)數(shù)據(jù)T,表示有T組數(shù)據(jù)。
            每組數(shù)據(jù)有一個(gè)正整數(shù)n(
            1 <= n <= 20),表示有n個(gè)盤子。
             

            Output
            對(duì)于每組輸入數(shù)據(jù),最少需要的擺放次數(shù)。
             

            Sample Input
            2
            1
            10
             

            Sample Output
            2
            19684

            因?yàn)樽畲蟮目梢苑旁谧钌厦? 所以就不能像 漢諾塔III那樣把前n-1個(gè)盤全部從1->3了.
             
            只要把前n-1個(gè)盤從1->2,然后把第n個(gè)盤1->2->3,然后把前n-1個(gè)盤2->3, 這樣就完成了.

            所以,問題現(xiàn)在轉(zhuǎn)換成 n 個(gè)盤移動(dòng)一步需要多少次.   我們可以看到, 除了最后一個(gè)最

            大的盤n以外, 前n-1個(gè)盤的移動(dòng)方式是和 漢諾塔III的規(guī)則是一樣的.所以我們先把前
             
            n-2 個(gè)盤 1->3, 然后把 第n-1個(gè)盤 1->2, 再把前n-2個(gè)盤 3->2, 這樣就把前 n-1個(gè)盤
             
            1->2 移動(dòng)了一步.
            因?yàn)榘?n 個(gè)盤 按找漢諾塔III的方法 1->3 需要 3n -1 推導(dǎo)見 :

                                          HDOJ HDU 2064 漢諾塔III ACM 2064 IN HDU

            所以由上面描述的步驟知道把 n 個(gè)盤移動(dòng)一步需要 : f(n) = f(n-1) + ( 3n-1 - 1 ) + 1 = f (n-1) + 3n-1 而 f(1) = 1
            由遞推式化簡(jiǎn)得: f(n) = 3n-1 + 3n-2 + ...+ 3 + 1 = ( 3n -1 ) / 2
            所以按 漢諾塔IV的規(guī)則, 移動(dòng) n 個(gè)盤 需要 : m(n) = 2 * f (n-1) + 2 = 3n-1 + 1

            代碼如下:
            MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋

            #include 
            <iostream>
            #include 
            <cmath>
            using namespace std;
            long long myPow ( int n , int e )
            {
                 
            long long mlt = 1;
                 
            for ( int i = 1; i <= e ; ++ i )
                 {
                       mlt 
            *= n; 
                 } 
                 
            return mlt;
            }
            int main ()
            {
                
            int N;
                
            while ( cin >> N )
                {
                      cout 
            << myPow ( 3, N - 1 ) + 1 << endl;
                }
                
            return 0
            }
            精品久久国产一区二区三区香蕉| 亚洲AV无码1区2区久久| 青青草原综合久久大伊人精品| 久久精品国产半推半就| 岛国搬运www久久| 综合久久国产九一剧情麻豆 | 国产香蕉97碰碰久久人人| 精品乱码久久久久久夜夜嗨| 2021最新久久久视精品爱| 国产亚洲欧美精品久久久| 久久只有这精品99| 久久婷婷国产麻豆91天堂| 亚洲美日韩Av中文字幕无码久久久妻妇 | 91久久香蕉国产熟女线看| 久久久久免费精品国产| 久久av高潮av无码av喷吹| 久久久久亚洲AV成人片| 一本一本久久a久久精品综合麻豆| 狠狠干狠狠久久| 中文字幕无码免费久久| 久久亚洲精品国产精品婷婷 | 国产V亚洲V天堂无码久久久| 一级做a爰片久久毛片毛片| 国产精品午夜久久| 久久精品国产福利国产秒| 欧美亚洲色综久久精品国产| 久久精品国产久精国产果冻传媒| 久久久久久国产精品无码下载| 99精品伊人久久久大香线蕉| 国产一区二区三区久久| 99久久久精品免费观看国产| 一本色道久久99一综合| 久久亚洲日韩看片无码| 中文字幕久久亚洲一区| 伊人久久一区二区三区无码| 日日狠狠久久偷偷色综合96蜜桃| 99久久综合狠狠综合久久| 久久99久久无码毛片一区二区 | 精品一久久香蕉国产线看播放 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 三上悠亚久久精品|