zjnu 1744 EKSPLOZIJA(模拟栈)
来源:互联网 发布:coc女王升级数据 编辑:程序博客网 时间:2024/05/16 22:58
Description
Mirko likes to play with strings of characters, but this time he has taken it too far – he put an “explosion” in the string! An explosion is a series of characters which, if found in the vicinity of fire, explodes and starts a chain reaction. Mirko, being as negligent as he usually is, forgot that his string contained an explosion and placed it near a candlelight. Thus the chain reaction began. The chain reaction takes place in the following way:
• if a string contains explosions, they all explode and a new string is formed by concatenating the pieces without the exploding parts
• this concatenation could possibly create new explosions
• the chain reaction repeats while there are explosions in the string
Now Mirko wants to know whether anything will be left after this series of chain reactions. If nothing remains, output “FRULA” (without quotes). If, by any chance, something is left, output the final string remaining after all the reactions.
Please note: The explosion will not contain two equal characters.
Input
The first line of input contains Mirko's string, (1 ≤ |Mirko's string| ≤ 1 000 000). The second line of input contains the explosion string, (1 ≤ |explosion| ≤ 36). Both Mirko's string and the explosion string consist of uppercase and lowercase letters of the English alphabet and digits 0, 1, … 9.
Output
The first and only line of output must contain the final string remaining after all the reactions as stated in the task.
Sample Input
12ab112ab2ab12ab
Sample Output
FRULA
Hint
Firstly, the bombs on positions 1 and 6 explode. Then we are left with ****1****2ab (where * marks the character that exploded) and when that string is put together, we get 12ab. Sadly, that is an explosion all over again so it disappears.
这题就是给你两个字符串,问你字符串一里面把所有字符串都删除还剩下什么
我就是模拟栈做得。。
AC代码:
/* ***********************************************Author :yzkAcceptedCreated Time :2016/3/19 20:57:06TASK :。.cppLANG :C++************************************************ */#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <cmath>#include <cstdlib>#include <ctime>#include <stack>using namespace std;typedef __int64 ll;const int maxn=1000010;char st[maxn],s[maxn],g[maxn];char ans[maxn];int main(){int i,j,k; //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout);memset(s,0,sizeof(s));memset(st,0,sizeof(st));memset(g,0,sizeof(g));memset(ans,0,sizeof(ans)); scanf("%s",s+1);int n=strlen(s+1);scanf("%s",g+1);int m=strlen(g+1);int rear=0;int flag=1;for(i=1;i<=n;i++){st[++rear]=s[i];if(rear>=m && st[rear]==g[m]){flag=1;for(j=1;j<=m;j++){if(st[rear-m+j]!=g[j]){flag=0;break;}}if(flag==1)rear-=m;}}for(i=1;i<=rear;i++)ans[i]=st[i];if(rear==0)printf("FRULA\n");elseprintf("%s\n",ans+1);return 0;}
- zjnu 1744 EKSPLOZIJA(模拟栈)
- ZJNU 1888
- ZJNU 1903
- ZJNU 1614
- Zjnu Stadium
- Zjnu Stadium
- Zjnu Stadium
- zjnu AllButOneDivisor
- ZJNU 1889 太空行走
- ZJNU 1006 骑士游历
- HDU 3047 Zjnu Stadium
- hdu 3047 Zjnu Stadium
- hdu 3047 Zjnu Stadium
- HDU 3047 Zjnu Stadium
- hdu 3047 Zjnu Stadium
- O - Zjnu Stadium
- hdu 3047:Zjnu Stadium
- HDU Zjnu Stadium
- CAS Server 如何连接WebService验密
- HDU 4766 模拟退火(最小圆覆盖) + 二分
- 随机数
- 计算某一个字符串中的大小写与其它字符
- IndentationError: unindent does not match any outer indentation level
- zjnu 1744 EKSPLOZIJA(模拟栈)
- lua 调用.so 和 require 使用
- 图解正向代理、反向代理、透明代理
- Scanner 的坑
- Oracle ADF Development Essentials - Part 4
- 二维数组中的查找
- Win7下设置DirectShow编译环境小结(特别的x64位环境)
- 多维数组
- CSS实现垂直居中的常用方法