Uva 10115 2015.5.26

来源:互联网 发布:js后退不刷新页面 编辑:程序博客网 时间:2024/05/22 16:23
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXW 90#define MAXN 15#define MAXL 400char before[MAXN][MAXW];char after[MAXN][MAXW];int nrule;char text[MAXL],text1[MAXL],text2[MAXL];int main(){    freopen("in.txt","r",stdin);    freopen("out.txt","w",stdout);    for(;;)    {        memset(before,0,sizeof(before));        memset(after,0,sizeof(after));        memset(text,0,sizeof(text));        scanf("%d",&nrule);        if (nrule==0) break;        getchar();        for(int i=1;i<=nrule;i++)        {            gets(before[i]);            gets(after[i]);        }        gets(text);        for(int i=1;i<=nrule;i++)        {            bool flag=false;            int lent=strlen(text);            int lenb=strlen(before[i]);            int len=lent-lenb;            for(int j=0;j<len;j++)            {                bool same=true;                for(int k=0;k<lenb;k++)                {                    if (before[i][k] != text[k+j])                    {                        same=false;                        break;                    }                }                if (same)                {                    flag=true;                    memset(text1,0,sizeof(text1));                    memset(text2,0,sizeof(text2));                    for(int k=0;k<j;k++)                        text1[k]=text[k];                    for(int k=0,t=j+lenb;t<lent;k++,t++)                        text2[k]=text[t];                    memset(text,0,sizeof(text));                    strcat(text,text1);                    strcat(text,after[i]);                    strcat(text,text2);                    break;                }            }            if (flag) i--;        }        printf("%s\n",text);    }}

0 0
原创粉丝点击