思路
用两个字符串,第一个字符串是原本的,第二个字符串放变换后的。每次将变换好的复制给原来的,变换好的晴空,循环n次。
code
#include <bits/stdc++.h>
using namespace std;
string ans,s="0";
void dfs(int n){
if(n==0) return;
for(int i=0;i<s.length();i++){
if(s[i]=='0') ans+='1';
else ans+="01";
}
s=ans;ans.clear();
dfs(n-1);
}
int main(){
int n;
cin>>n;
dfs(n);
cout<<s<<endl;
return 0;
}