题目链接:【hdu 1274】
<span style="font-size:14px;">#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
char str[300];
int len;
int dfs(int pos)
{
int e,i;
for(i=pos; i<len; i++)
{
if(str[i]==')') break;
int k=0;
for(; i<len; i++)
{
if(str[i]>='0'&&str[i]<='9') k=k*10+str[i]-'0';
else break;
}
if(!k) k=1;
if(str[i]=='(')
{
while(k--)
{
e=dfs(i+1);
}
i=e;
}
else
{
while(k--) putchar(str[i]);
}
}
return i;
}
int main()
{
int n;
scanf("%d", &n);
while(n--)
{
scanf("%s", str);
len = strlen(str);
dfs(0);
printf("\n");
}
return 0;
}</span>