프로그램 명: coci_eksplozija
제한시간: 1 초
길이가 N인 단어가 있다. 당신은 폭탄을 터뜨려서 특정 부분을 지우려고 한다. 폭탄은 길이 B의 문자열이며, 폭탄을 터뜨린다는 것은 기존 단어에 있는 폭탄과 일치하는 부분문자열 중 하나를 임의로 삭제하는 것을 말한다. 예를 들어, 'abracadabra' 라는 단어에서 'bra'라는 폭탄을 터뜨렸을 때에는 단어가 'acadabra' 또는 'abracada'로 바뀐다.
폭탄을 계속 터뜨리다 보면, 더 이상 단어에 폭탄이 남아있지 않게 된다. 폭탄을 충분히 터뜨렸을 때 단어가 어떻게 바뀌는지 구하는 프로그램을 작성하여라.
입력 형식
-
첫 번째 줄에는 단어가 주어진다. (1 ≤ N ≤ 1,000,000)
-
두 번째 줄에는 폭탄이 주어진다. (1 ≤ B ≤ 36)
단어와 폭탄은 오직 영어 대소문자와 숫자로만 구성되며, 폭탄의 각 문자는 모두 다르다.
출력 형식
폭탄을 충분히 터뜨린 후의 단어를 출력한다. 만약 단어가 빈 문자열이라면 'FRULA'를 출력한다.
입력 예 1
mirkovC4nizCC44
C4
출력 예 1
mirkovniz
입력 예 2
12ab112ab2ab
12ab
출력 예 2
FRULA
입력 예 2 설명
'12ab112ab2ab'에서 폭탄을 터뜨리면 단어는 다음 중 한 방식으로 변한다.
1) '12ab112ab2ab' -> '112ab2ab' -> '12ab' -> ''
2) '12ab112ab2ab' -> '12ab12ab' -> '12ab' -> ''
3) '12ab112ab2ab' -> '12ab12ab' -> '12ab
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.
입력
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.
출력
The first and only line of output must contain the final string remaining after all the reactions as stated
in the task.
입출력 예
input
mirkovC4nizCC44
C4
output
mirkovniz
input
12ab112ab2ab
12ab
output
FRULA
Clarification of the second example: 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.
출처:/coci/2013-2014/contest5
번역:functionx
[질/답]
[제출 현황]
[푼 후(0)]