记录编号 |
47174 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2010冲刺十三]外星密码 |
最终得分 |
100 |
用户昵称 |
TBK |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2012-10-31 08:50:26 |
内存使用 |
38.46 MiB |
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <set>
#include <queue>
#include <algorithm>
#define MAXN 0x7fffffff
using namespace std;
int a,b,c,d,r[10000000];
string s,stri;
void DFS(void)
{
int i,j,k=0,l;
string str;
for (;a<s.length();a++)
{
if (s[a]>='A'&&s[a]<='Z') str+=s[a];
else if (s[a]>='0'&&s[a]<='9')
{
i=a;
k=0;
while (s[a]>='0'&&s[a]<='9') a++;
for (j=i;j<a;j++)
k+=(s[j]-'0')*(int)pow(10.0,(double)(a-j-1));
a--;
}
else if (s[a]=='[')
{
a++;
DFS();
str+=stri;
}
else if (s[a]==']')
{
string st;
st=str;
for (l=0;l<k-1;l++) str+=st;
k=0;
stri="\0";
stri=str;
return ;
}
}
if (a==s.length())
{
string st;
st=str;
for (l=0;l<k-1;l++) str+=st;
k=0;
}
stri="\0";
stri=str;
}
int main(void)
{
freopen("passworda.in","r",stdin);
freopen("passworda.out","w",stdout);
cin>>s;
DFS();
cout<<stri;
fclose(stdin);
fclose(stdout);
return 0;
}