-
[A] A Breaking Computer
- 时间限制: 1000 ms 内存限制: 65535 K
- 问题描述
-
Oh my god.My computer is break.When I writing something,the home and the end always is working.But I also write too quakily,
even I don't see the screen.OK,when I finish a work ,can you tell me the work become in end?
We modified the sample output, please check it.
- 输入
-
This have some cases.
Every case have a sentence(length< 200000 Include (A->Z a->z 0->9)).Then '[' is the home,']' is the end;
- 输出
-
Input a sentence.
Printf the finally sentence.
- 样例输入
-
123[4
123[45]6
123[45]6[7]8
- 样例输出
-
4123
451236
74512368
代码实现:
#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
char str[200001];
vector<char>Q[200001];//定义200001个容器
int main()
{
int i,j,r,flag;
while(scanf("%s",str)!=EOF)
{
r=0;flag=0;
for(i=0;i<200001;i++)
Q[i].clear();//容器的清空
for(i=0;str[i]!='\0';i++)
{
if(str[i]=='[')
{
r++;
flag=r;
}
else if(str[i]==']')
flag=0;
else
{
Q[flag].push_back(str[i]);//进入容器
}
}
for(i=r;i>=0;i--)
{
for(j=0;j<Q[i].size();j++)
printf("%c",Q[i][j]);
}
printf("\n");
}
return 0;
}