主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
weinijuan
2024年6月24日 14:14
Hanoi塔问题 题解:
P1082
回复 0
|
赞 0
|
浏览 541
#include <bits/stdc++.h> using namespace std; int counter = 0; char comp(char a, char b) { return 'A'+'B'+'C'-a-b; } void f(char src, char end, int n) { if (n==0) return; f(src, comp(src, end), n-1); &...
为欢几何
2024年4月10日 09:46
Hanoi塔问题 题解:注意输出格式,相邻输出之间有3个空格
P1082
回复 0
|
赞 0
|
浏览 803
//汉诺塔输出每一个步骤,五个一换行 #include<bits/stdc++.h> using namespace std; int step;//记录移动步数 void Hanoi(int n, char a, char b, char c) { if(n == 1) { if((step + 1) % 5 == 0) cout << a << "-->" << c << endl; else cout...
xjnotywlq
2024年3月18日 16:04
Hanoi塔问题 题解:
P1082
回复 2
|
赞 0
|
浏览 620
#include <stdio.h> #include <stdlib.h> int n; int count; void move(char a,char c){ count++; printf("%c-->%c ",a,c); if(count%5==0)printf("\n"); } void hanoi(int n,char a,char b,char c){ if(n==1){ move(a,c); }else{ hanoi(n-1,a...
huanghu
2024年3月21日 13:08
Hanoi塔问题 题解:
P1082
回复 0
|
赞 0
|
浏览 528
#include <iostream> using namespace std; int stepCount = 0; // 计数器,用于控制换行 void hanoi(int n, char a, char b, char c) { if (n == 1) { cout << a << "-->" << c << " "; stepCount++; if (stepCount % 5 == 0) { cou...
LI1
2024年3月17日 16:23
Hanoi塔问题 题解:不知道是什么问题?
P1082
回复 2
|
赞 0
|
浏览 598
#include<stdio.h> int num=0; //将n个圆盘从A盘经过B移动到C void hanoi(char A,char B,char C,int n) { if(n==1) { if(num==5) { ...
孙某人
2024年2月22日 18:18
Hanoi塔问题 题解:易错点总结
P1082
回复 0
|
赞 0
|
浏览 738
#include<iostream> using namespace std; int count=0; void printa(char A,char C){ if(count==5){ cout <<endl; count=0; } cout <<A <<"-->" <<C<<" "; count++; } void a(char A,char B,char C,int n){ if(n==1){ printa(A,C); ...
月溅星河
2023年9月20日 22:49
Hanoi塔问题 题解:递归
P1082
回复 0
|
赞 1
|
浏览 1.6k
Hanoi问题绝对是一个理解递归的好题,对一个将N个圆盘从A移动到C的问题,我们可以将它分解成三步 将其上的N-1个圆盘从A移动到B。 将第N个圆盘从A移动到C。 将B上的N-1个圆盘移动到C。 每次移动都有一个起点S,一个终点T,还有一个中介M,另外还有想要移动的盘子的数目cnt,当需要移动的数目为1时,我们就可以打印移动的方法。写成程序就是下面这样 //将cnt个圆盘从S盘经过M移动到T void hanoi(char S, char T, char M, ll cnt) { if (cnt == 1) pprint(S, T); else { ...
csYfZhang
2020年5月12日 14:17
30行代码的汉诺塔递归
P1082
回复 0
|
赞 2
|
浏览 10.6k
https://blog.csdn.net/csyifanZhang/article/details/106075180 ↑完整题解 #define ll int #define inf 0x3ffffff #define vec vector<ll> ll tot = 0; void pprint(char s, char t) { if (tot == 5)printf("\n"), tot = 0; printf("%c-->%c ", s, t); tot++; } ...
题目
Hanoi塔问题
题解数量
8
发布题解
热门题解
1
30行代码的汉诺塔递归
2
Hanoi塔问题 题解:递归
3
Hanoi塔问题 题解:不知道是什么问题?
4
Hanoi塔问题 题解:
5
Hanoi塔问题 题解:注意输出格式,相邻输出之间有3个空格
6
Hanoi塔问题 题解:
7
Hanoi塔问题 题解:易错点总结
8
Hanoi塔问题 题解: