文章

6

粉丝

32

获赞

0

访问

2.5k

头像
Hanoi塔问题 题解:
P1082 复旦大学机试题
发布于2024年6月24日 14:14
阅读数 511

#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);
    cout<<src<<"-->"<<end;
    counter++;
    if (counter%5==0) cout<<endl;
    else cout<<"   ";
    f(comp(src, end), end, n-1);
}

int main()
{
    int n;
    while (cin>>n) {
        if (n == 0) break;
        counter = 0;
        f('A', 'C', n);
        // 这个我确实没想到,在最后还需要输出endl
        cout<<endl;
    }
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发