3 条题解
-
1
代老师的代码极为完整、完善,易于理解,通俗易懂,符合广大中学生的思维,并且简洁明了,是我们应当学习的典范。我的你可以视而不管。
#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
#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
#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
- 上传者