题目链接:https://www.luogu.org/problemnew/show/UVA11988
这题虽说是和链表有关的模拟,但其实并不是很需要啊,但蒟蒻用了(说的好听是练手,说的难听是太弱),效果海星。
分析:
此题模拟即可,本人估计难度大概提高-,可以直接数组模拟,也可以用链表存储。主要是每组数据有多组输入,所以读入的方法可以多加注意,我的这种方法海星(这么有自信是因为是跟大佬学的),然后灵魂活运用for语言即可。
其他在代码中说明。
代码:
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std
;
char s
[100005];
int Next
[100005];
int main()
{
int cur
,last
;
while(~scanf("%s",s
+1))
{
cur
=last
=0;
Next
[0]=0;
for(int i
=1;s
[i
]!='\0';i
++)
{
char QAQ
=s
[i
];
if(QAQ
=='[') cur
=0;
else if(QAQ
==']') cur
=last
;
else
{
Next
[i
]=Next
[cur
];
Next
[cur
]=i
;
if(last
==cur
) last
=i
;
cur
=i
;
}
}
for(int i
=Next
[0];i
!=0;i
=Next
[i
])
{
printf("%c",s
[i
]);
}
printf("\n");
}
return 0;
}
完结撒花
~
转载于:https://www.cnblogs.com/vercont/p/10210041.html
相关资源:JAVA上百实例源码以及开源项目