#include <iostream>
using namespace std;
int sum = 0;
void play(int a, int b, int n)
{
if(n == 1){
sum++;
cout<<sum<<" "<<"将"<<a<<"放入"<<b<<endl;
return;
}
int c = 6-a-b;
play(a, c, n-1);
sum++;
cout<<sum<<" "<<"将"<<a<<"放入"<<b<<endl;
play(c, b, n-1);
return;
}
int main(void)
{
int n;cin>>n;
int i;
for(i = 1; i <= n; i++){
play(1, 3, i);
cout<<sum<<endl;
sum = 0;
}
return 0;
}
简化版
#include <iostream>
using namespace std;
int sum = 0;
void play(int n)
{
if(n == 1){
sum++;
return;
}
play(n-1);
sum++;
play(n-1);
return;
}
int main(void)
{
int n;cin>>n;
int i;
for(i = 1; i <= n; i++){
play(i);
cout<<sum<<endl;
sum = 0;
}
return 0;
}