1. 程式人生 > >HDU1996 漢諾塔VI【水題】

HDU1996 漢諾塔VI【水題】

漢諾塔VI

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3193    Accepted Submission(s): 2353


Problem Description n個盤子的漢諾塔問題的最少移動次數是2^n-1,即在移動過程中會產生2^n個系列。由於
發生錯移產生的系列就增加了,這種錯誤是放錯了柱子,並不會把大盤放到小盤上,即各柱
子從下往上的大小仍保持如下關係 :
n=m+p+q
a1>a2>...>am
b1>b2>...>bp
c1>c2>...>cq
計算所有會產生的系列總數.

Input 包含多組資料,首先輸入T,表示有T組資料.每個資料一行,是盤子的數
目N<30.
Output 對於每組資料,輸出移動過程中所有會產生的系列總數。
Sample Input 3 1 3 29
Sample Output 3 27 68630377364883
Author
[email protected]

Source

問題簡述參見上述連結。

問題分析本題實際上是計算3^n。程式設計中需要注意輸出格式。

程式說明(略)

AC的C語言程式如下:

/* HDU1996 漢諾塔VI */

#include<stdio.h>
#include<math.h>

int main (void)
{
    int t, n;

    scanf("%d",&t);
    while(t--)
    {
        scanf("%d", &n);
        printf("%.lf\n", pow(3, n));
    }

    return 0;
}


相關推薦

HDU1996 VI

漢諾塔VI Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3193    Accepted Submissi

題解報告:hdu1996VI

http blog clu AC 鏈接 using 選擇 acm c++ 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1996 解題思路:每個盤子有3種選擇,故系列總數為3^n。(水題!!!) AC代碼: 1 #incl

hdu 2064 III (

漢諾塔III Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su

簡單的問題遞迴

題目連結:http://bailian.openjudge.cn/practice/4147/ 問題描述: 有三根杆子A,B,C。A杆上有N個(N>1)穿孔圓盤,盤的尺寸由下到上依次變小。要求按下列規則將所有圓盤移至C杆: 每次只能移動一個圓盤; 大盤不能疊在小盤上面。 提示:可將圓盤

HDU1207 II 遞推

漢諾塔II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4799    Accepted Submis

HDU 2077 IV遞推

Problem Description 還記得漢諾塔III嗎?他的規則是這樣的:不允許直接從最左(右)邊移到最右(左)邊(每次移動一定是移到中間杆或從中間移出),也不允許大盤放到小盤的上面。xhd在想如果我們允許最大的盤子放到最上面會怎麼樣呢?(只允許最大的放在最上面)

問題遞歸

經典問題 我們 怎麽 code color pan end 思路 else 漢諾塔問題是一個遞歸的經典問題。 問題描述:   有x,y,z三根柱子,在x柱子上有按照大在下,小在上的規則,放著64個套筒,現在要將64個套筒借助柱子y移到柱子z上,且每次只能移動一個套筒,每

ACM_問題(

for 思路 names include 推導 span return bits tar Problem Description: 最近小G迷上了漢諾塔,他發現n個盤子的漢諾塔問題的最少移動次數是2^n-1,即在移動過程中會產生2^n個系列。由於發生錯移產生的系列就增加了,

HDU ACM1996——VI

漢諾塔VI Problem Description n個盤子的漢諾塔問題的最少移動次數是2n-1,即在移動過程中會產生2n個系列。由於 發生錯移產生的系列就增加了,這種錯誤是放錯了柱子,並不會把大盤放到小盤上,即各柱 子從下往上的大小仍保持如下關係 : n=m+

系列問題: II、III、IV、V、VIVII

 漢諾塔II:(hdu1207) /先說漢若塔I(經典漢若塔問題),有三塔,A塔從小到大從上至下放有N個盤子,現在要搬到目標C上, 規則小的必需放在大的上面,每次搬一個,求最小步數。這個問題簡單,DP:a[n]=a[n-1]+1+a[n-1],先把上面的n-1個放在B上,把

+ 一道簡單貪心

漢諾塔 移動n層塔至少需要多少次 1層 1次 2層 3次 3層 7次 4層 15次 . . . . 沒錯,就是2n+1的規律 int han(int n) { if(n==1) return 1; else r

系列問題: II、III、IV、V、VI

漢諾塔 漢諾塔II hdu1207: 先說漢若塔I(經典漢若塔問題),有三塔,A塔從小到大從上至下放有N個盤子,現在要搬到目標C上, 規則小的必需放在大的上面,每次搬一個,求最小步數。這個問題簡單,D

HDU1009_FatMouse&#39; Trade貪心

clu string.h gin ins center multiple rate int which FatMouse‘ Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/

洛谷P2911 [USACO08OCT]牛骨頭Bovine Bones

ace ans 水題 pac 輸入 using 範圍 end div 題目大意:輸入S1,S2,S3,隨機生成三個數x,y,z,求x+y+z出現次數最多的數(如果有多個答案輸出最小的),其中1<=x<=S1,1<=y<=S2,1<=z<=

STLHDU2024C語言合法標識符

AI info targe == () 簡潔 技術分享 type #define 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2024 既然要求了全體同學都要刷完杭電100題,那我還是以身作則,也都給刷完吧~~~ 這些水題真的是

Codeforces 637A Voting for Photos

http://codeforces.com/problemset/problem/637/A A. Voting for Photos time limit per test 1 second memory limit per test 256 megabytes inp

藍橋杯BASIC-1 閏年判斷

問題描述 給定一個年份,判斷這一年是不是閏年。 當以下情況之一滿足時,這一年是閏年: 1. 年份是4的倍數而不是100的倍數; 2. 年份是400的倍數。 其他的年份都不是閏年。 輸入格式 輸入包含一個整數y,表示當前的年份。 輸出格式 輸出一行,如果給定的年份是

藍橋杯BASIC-16 分解質因數

問題描述   求出區間[a,b]中所有整數的質因數分解。 輸入格式   輸入兩個整數a,b。 輸出格式   每行輸出一個數的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是從小到大的)(具體可看樣例) 樣例輸入 3 10 樣例輸出

Codeforces Round #515 (Div. 3)A. Vova and Train

A. Vova and Train time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vova

POJ3981 字串替換

字串替換 Description 編寫一個C程式實現將字串中的所有"you"替換成"we" Input 輸入包含多行資料 每行資料是一個字串,長度不超過1000 資料以EOF結束 Output 對於輸入的每一行,輸出替換後的字串 Sample Input you are what you do Sample