1 条题解

  • 0
    @ 2025-10-8 16:54:15
    #include<bits/stdc++.h>
    using namespace std;
    int ans;
    void dfs(int n,char a,char b,char c)//函数的功能:n个盘 从 a 出发 借助 b 到达 c 
    {
        if (n==1)
        {
            printf("%d %c->%c\n",n,a,c);
            ans++;
        }
        else
        {
            dfs(n-1,a,c,b); // n-1 个盘 从 a 出发 借助 c 到达 b 
            printf("%d %c->%c\n",n,a,c);ans++;
            dfs(n-1,b,a,c);//  n-1 个盘 从 b 出发 借助 a 到达 c 
        }
    }
    int main()
    {
        int n;scanf("%d",&n);
        ans=0;dfs(n,'A','B','C');
        printf("%d\n",ans);
        return 0;
    }
    
    • 1

    信息

    ID
    850
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    206
    已通过
    72
    上传者