记录编号 47174 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010冲刺十三]外星密码 最终得分 100
用户昵称 GravatarTBK 是否通过 通过
代码语言 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;
}