3 条题解

  • 1
    @ 2023-2-25 10:37:00

    代老师的代码极为完整、完善,易于理解,通俗易懂,符合广大中学生的思维,并且简洁明了,是我们应当学习的典范。我的你可以视而不管。

    #include<bits/stdc++.h>
    using namespace std;
    void h(int n,char a,char b,char c){
    if(n==1){
    cout<<a<<"->"<<n<<"->"<<b<<"\n";
    return;
    }
    h(n-1,a,c,b);
    cout<<a<<"->"<<n<<"->"<<b<<"\n";
    h(n-1,c,b,a);	
    }
    int main()
    {
    int n;
    char a,b,c;
    cin>>n>>a>>b>>c;
    h(n,a,b,c);
    return 0;
    }
    
    
    • 0
      @ 2023-2-25 10:26:43
      #include<bits/stdc++.h>
      using namespace std;
      //输出:n 个盘子从 a 柱子挪到 b 柱子(利用c柱子)的步骤 
      void h(int n,char a,char b,char c){
      	if(n==1){
      		cout<<a<<"->"<<n<<"->"<<b<<"\n"; 
      		return;
      	}
      	//把n-1个,从a挪到c(利用b柱子)
      	h(n-1,a,c,b); 
      	//把n号盘子,从a挪到b 
      	cout<<a<<"->"<<n<<"->"<<b<<"\n"; 
      	//把n-1个,从c挪到b(利用a柱子)
      	h(n-1,c,b,a);	
      } 
      int main()
      {
      	int n;
      	char a,b,c;
      	cin>>n>>a>>b>>c;
      	h(n,a,b,c); 
      	return 0;
      }
      
      
      • 0
        @ 2022-9-29 20:59:56
        #include <bits/stdc++.h>
        using namespace std;
        int n;
        char a, b, c;
        //把 n 个盘子
        //从 a 编号的柱子
        //通过 c 编号的柱子
        //挪到 b 编号的柱子
        void h(int n, char a, char b, char c)
        {
            if (n == 1)
            {
                cout << a << "->" << 1 << "->" << b << "\n";
                return;
            }
            h(n - 1, a, c, b);
            cout << a << "->" << n << "->" << b << "\n";
            h(n - 1, c, b, a);
        }
        int main()
        {
            ios::sync_with_stdio(false);
            cin.tie(0);
            cin >> n;
            cin >> a >> b >> c;
            h(n, a, b, c);
            return 0;
        }
        
        • 1

        信息

        ID
        425
        时间
        1000ms
        内存
        128MiB
        难度
        3
        标签
        (无)
        递交数
        129
        已通过
        71
        上传者