请对一下格式进行展开:
[2](abc)def要展开成abcabcdef
[2](abp[3](d))要展开成abpdddabpddd
[2](ab)cd[3](e)123要展开成ababcdeee123
可能存在多层钳套,方括号中的数字可能不止一位。
三个测试样例:
[2](abc)def
[2](ab)cd[3](e)123
9897[12](hj)ioioio[2](uio[3](a[5](mn)b))567
其对应的三个输出样例:
abcabcdef
ababcdeee123
9897hjhjhjhjhjhjhjhjhjhjhjhjioioiouioamnmnmnmnmnbamnmnmnmnmnbamnmnmnmnmnbuioamnmnmnmnmnbamnmnmnmnmnbamnmnmnmnmnb567
#include<iostream>
using namespace std;
string read()
{
int n;
string s="",s1;
char c;
while(cin>>c)
{
if(c=='[')
{
cin>>n;
getchar();getchar();
s1=read();
while(n--)
{
s+=s1;
}
}
else
{
if(c==')')
{
return s;
}
else
{
s+=c;
}
}
}
}
int main()
{
string s;
s=read();
for(int i=0;i<s.size();i++)
{
if(s[i]!='['&&s[i]!=']'&&s[i]!='('&&s[i]!=')')
{
cout<<s[i];
}
}
return 0;
}