Creare il gioco Zuma

Hai deciso di creare il gioco Zuma. Ora stai lavorando alla parte che elimina i segmenti di palline dello stesso colore quando questi segmenti si incontrano. Quindi, data una sequenza di palline di vari colori, il giocatore spara una pallina di un determinato colore in una posizione specifica di quella sequenza. Se in quel punto si trovano più di 2 palline dello stesso colore (inclusa la pallina sparata dal giocatore), quel segmento scompare, e le palline circostanti si avvicinano per riempire lo spazio vuoto.
notion image
Se 3 o più palline che si sono scontrate hanno lo stesso colore, anche quel segmento scompare. Questo processo continua finché i segmenti che entrano in collisione non hanno colori diversi oppure finché non rimane alcuna pallina.

Input

La prima riga dell’input contiene una singola stringa b (1 ≤ |b| ≤ ), che rappresenta le palline nella sequenza. I colori delle palline sono indicati da lettere minuscole dell’alfabeto latino (y per giallo, b per blu, r per rosso, ecc).
La riga successiva contiene l’indice i (1 ≤ i ≤ |b|) in cui l’utente spara la pallina e il colore c della pallina (anch’esso una lettera minuscola).

Output

Il programma deve stampare la sequenza di palline risultante.

Esempi

Input
Output
rrryyrrb 4 y
b
rgbbrg 3 b
rgrg
ggrrrbbb 1 g
rrrbbb
gbyw 1 y
ygbyw
cabbbacc 4 b
caacc

Spiegazione

  1. rrryyrrb → rrryyyrrb → rrrrrb → b
  1. rgbbrg → rgbbrg → rgrg
  1. ggrrrbbb → gggrrrbbb → rrrbbb (non avviene alcuna collisione tra segmenti dopo questo passaggio)
  1. gbyw → ygbyw (i colori non corrispondono ⇒ la pallina viene inserita nell’indice in cui è stata sparata)
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue