Programacion, ACM ICPC, UVa Online Judge

El link del problema es el siguiente:
10115 – Automatic Editing

Lo que nos pide el problema es que dada una cadena, buscar y reemplazar un conjunto de parejas de cadenas.
En la entrada primero nos dan el numero de parejas de cadenas a buscar y reemplazar y al final la cadena donde realizaremos el proceso.

Las restricciones que nos da el problema son:

  • Al buscar, solo sustituir la primera ocurrencia de la palabra a buscar
  • Una vez sustituido, revisar nuevamente si la frase generada no tiene la frase a buscar nuevamente

Esos 2 pasos se deben realizar para cada pareja de cadenas.
Una forma facil de resolver esto, es generando una funcion que reemplace la primera ocurrencia de la palabra a buscar en nuestra cadena.
Para utilizarla, lo que habria que hacer es copiar la frase original y sustituir en la frase la palabra a buscar.
Si la cadena original es diferente a la frase nueva, quiere decir que se hizo un cambio y hay que revisar nuevamente si la cadena nueva no tiene la frase a buscar.
El pedazo de codigo descrito queda mas o menos de la siguiente manera:

for(int i=0;i<palabras;i++)
    do{
        original=frase;
        frase=sustituir(frase,buscar[i],reemplazar[i]);
    }while(original!=frase);

Código en C++

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: