UVa-10115-Automatic Editing
AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 1. Elementary Problem Solving :: String
// 10115 - Automatic Editing #include <iostream> #include <cstdio> #include <cstring> using namespace std; int main(void) { int i, t; char *found; char find[10][80], replace[10][80], text[256], temp[256]; while(cin>>t && t!=0) { getchar(); memset(find, 0, sizeof(find)); memset(replace, 0, sizeof(replace)); memset(text, 0, sizeof(text)); memset(temp, 0, sizeof(temp)); for(i=0; i<t; i++) { cin.getline(find[i], 80); cin.getline(replace[i], 80); } cin.getline(text, 256); for(i=0; i<t; i++) { found = strstr(text, find[i]); while(found != NULL) { sprintf(temp, "%s", found+strlen(find[i])); sprintf(found, "%s", replace[i]); sprintf(found+strlen(replace[i]), "%s", temp); found = strstr(text, find[i]); } } cout << text << endl; } return 0; }