7 solutions

  • 1
    @ 2025-5-17 11:46:07
    #include<bits/stdc++.h>
    using namespace std;
    void h(int x,char a,char b,char c)
    {
    	if(x==1)
    	{
    		cout<<a<<"->"<<x<<"->"<<b<<endl;
    	}
    	else
    	{
    		h(x-1,a,c,b);
    		cout<<a<<"->"<<x<<"->"<<b<<endl;
    		h(x-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
      @ 2025-5-12 17:55:32
      #include<bits/stdc++.h>
      using namespace std;
      void h(int x,char a,char b,char c) //表示x个盘子从a移动到b,借助的是c盘子 
      {
      	if(x==1)
      	{
      		cout<<a<<"->"<<x<<"->"<<b<<endl;
      	}
      	else
      	{
      		h(x-1,a,c,b);
      		cout<<a<<"->"<<x<<"->"<<b<<endl;
      		h(x-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
        @ 2025-4-20 9:24:32
        #include <bits/stdc++.h>
        using namespace std;
        
        // 汉诺塔递归函数
        // 参数说明:
        // n: 当前要移动的盘子数量
        // from: 起始柱
        // to: 目标柱
        // aux: 辅助柱
        void hanoi(int n, char from, char to, char aux) {
            if (n == 1) {
                // 当只剩一个盘子时,直接移动到目标柱
                cout << from << "->" << n << "->" << to << endl;
                return;
            }
            
            // 1. 将上方 n-1 个盘子从起始柱移动到辅助柱(借助目标柱)
            hanoi(n - 1, from, aux, to);
            
            // 2. 将第 n 个盘子从起始柱移动到目标柱
            cout << from  << "->" << n << "->" << to << endl;
            
            // 3. 将 n-1 个盘子从辅助柱移动到目标柱(借助起始柱)
            hanoi(n - 1, aux, to, from);
        }
        
        int main() {
            int n;
            cin >> n;
            char a,b,c;
            cin >> a >> b >> c;
            // 调用汉诺塔函数,初始从A柱移动到C柱,B柱作为辅助
            hanoi(n, a, b, c);
            
            return 0;
        }
        
        • 0
          @ 2025-1-23 10:32:47
          #include<bits/stdc++.h>
          using namespace std;void hn(int n,char a,char b,char c){if(n==1){cout<<a<<"->"<<n<<"->"<<b<<endl;}else{hn(n-1,a,c,b);cout<<a<<"->"<<n<<"->"<<b<<endl;hn(n-1,c,b,a);}}int main(){int n;char a,b,c;cin>>n>>a>>b>>c;hn(n,a,b,c);return 0;}
          
          • 0
            @ 2025-1-12 13:57:58
            #include<bits/stdc++.h>
            using namespace std;
            void lkj(int n,char a,char b,char c)
            {
            	if(n==1)
            	{
            		cout<<a<<"->"<<n<<"->"<<b<<endl;
            	}
            	else
            	{
            		lkj(n-1,a,c,b);
            		cout<<a<<"->"<<n<<"->"<<b<<endl;
            		lkj(n-1,c,b,a);
            	}
            }
            int main()
            {
            	int n;
            	char a,b,c;
            	cin>>n>>a>>b>>c;
            	lkj(n,a,b,c);
            	return 0;
            }
            • 0
              @ 2024-10-16 19:01:26
              #include<bits/stdc++.h>
              using namespace std;
              void lkj(int n,char a,char b,char c)
              {
              	if(n==1)
              	{
              		cout<<a<<"->"<<n<<"->"<<b<<endl;
              	}
              	else
              	{
              		lkj(n-1,a,c,b);
              		cout<<a<<"->"<<n<<"->"<<b<<endl;
              		lkj(n-1,c,b,a);
              	}
               } 
              int main()
              {
              	int n;
              	char a,b,c;
              	cin>>n>>a>>b>>c;
              	lkj(n,a,b,c);
              	return 0;
              }
              
              • -4
                @ 2024-8-17 14:53:10
                #include<bits/stdc++.h>
                using namespace std;
                void h(int x,char a,char b,char c)
                {
                	if(x==1)
                	{
                		cout<<a<<"->"<<x<<"->"<<b<<endl;
                	}
                	else
                	{
                		h(x-1,a,c,b);
                		cout<<a<<"->"<<x<<"->"<<b<<endl;
                		h(x-1,c,b,a);
                	}
                }
                	int main()
                	{
                		int n;
                		char a,b,c;
                		cin>>n>>a>>b>>c;
                		h(n,a,b,c);
                		
                	}
                
              • 1

              Information

              ID
              940
              Time
              1000ms
              Memory
              256MiB
              Difficulty
              3
              Tags
              (None)
              # Submissions
              118
              Accepted
              36
              Uploaded By