#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXW 90
#define MAXN 15
#define MAXL 400
char 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);
}
}
Uva 10115 2015.5.26
最新推荐文章于 2020-06-21 23:52:00 发布