比赛 |
清明时节雨纷纷,今天天气很晴朗 |
评测结果 |
AWAAWWWAWA |
题目名称 |
外星密码 |
最终得分 |
50 |
用户昵称 |
Hyoi_iostream |
运行时间 |
0.005 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2017-04-07 20:32:46 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
using namespace std;
string sr;
stack<int>num;
stack<string>str;
int check=0,x,len;
void work();
int main(){
freopen("passworda.in","r",stdin);
freopen("passworda.out","w",stdout);
work();
fclose(stdin);
fclose(stdout);
}
void work(){
char ch;
while(scanf("%c",&ch)==1){
if(ch=='\n') break;
if(check>0){
string sa="";
while(ch!='['&&ch!=']'){
sa+=ch;
scanf("%c",&ch);
}
str.push(sa);
}
if(ch=='['){
check++;
scanf("%d",&x);
num.push(x);
str.push("[");
}
if(ch==']'){
check--;
x=num.top();
num.pop();
string sb="";
while(!str.empty()){
string ss=str.top();
str.pop();
if(ss=="[") break;
sb+=ss;
}
string s1=sb;sb="";
for(int i=1;i<=x;i++) sb+=s1;
str.push(sb);
}
if(check<=0){
while(!str.empty()){
if(str.top()!="[") sr+=str.top();
str.pop();
}
}
if(ch!='['&&ch!=']') sr+=ch;
}
cout<<sr;
}