比赛 |
清明时节雨纷纷,今天天气很晴朗 |
评测结果 |
AAAAAAAAAA |
题目名称 |
外星密码 |
最终得分 |
100 |
用户昵称 |
东林桂香 |
运行时间 |
0.005 s |
代码语言 |
C++ |
内存使用 |
0.33 MiB |
提交时间 |
2017-04-07 20:22:47 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<stack>
#include<cstring>
using namespace std;
typedef long long LL;typedef unsigned long long ULL;
char s[20010];int len;
stack<char> a,b,ans;
stack<int> c;
int main(){
freopen("passworda.in","r",stdin);
freopen("passworda.out","w",stdout);
scanf("%s",s);
len=strlen(s);
for(int i=0;i<len;i++){
if(isdigit(s[i])){
int temp=0;
while(isdigit(s[i])){
temp*=10;temp+=s[i]-'0';
i++;
}
c.push(temp);
}
if(s[i]!=']'){
b.push(s[i]);
}
else{
string temp1,temp2;
char temp3=b.top();b.pop();
while (temp3!='['){
temp1+=temp3;
temp3=b.top();b.pop();
}
int temp4=c.top();c.pop();
while (temp4--){
temp2+=temp1;
}
for (int i=temp2.size()-1;i>=0;i--){
b.push(temp2[i]);
}
}
}
while(!b.empty()){
ans.push(b.top());
b.pop();
}
while(!ans.empty()){
printf("%c",ans.top());
ans.pop();
}
fclose(stdin);
fclose(stdout);
return 0;
}