/* UVa 11233 - Deli Deli */
#include <stdio.h>
#include <string.h>
#define MaxLength 30
char irregular[21][2][MaxLength];
int main() {
int l, n, i, j;
scanf("%d %d", &l, &n);
for (i = 0; i < l; i++)
scanf("%s %s", irregular[i][0], irregular[i][1]);
for (i = 0; i < n; i++) {
char s[MaxLength];
scanf("%s", s);
int regular = 1;
for (j = 0; j < l; j++) {
if (strcmp(s, irregular[j][0]) == 0) {
strcpy(s, irregular[j][1]);
regular = 0;
break;
}
}
if (regular == 1) {
int len = strlen(s);
if (len > 1 && s[len - 1] == 'y' && s[len - 2] != 'a'
&& s[len - 2] != 'e' && s[len - 2] != 'i'
&& s[len - 2] != 'o' && s[len - 2] != 'u') {
s[len - 1] = 'i';
s[len] = 'e';
s[len + 1] = 's';
s[len + 2] = '\0';
} else if (s[len - 1] == 'o' || s[len - 1] == 's'
|| s[len - 1] == 'x'
|| ((len > 1)
&& ((s[len - 2] == 'c' && s[len - 1] == 'h')
|| (s[len - 2] == 's' && s[len - 1] == 'h')))) {
s[len] = 'e';
s[len + 1] = 's';
s[len + 2] = '\0';
} else {
s[len] = 's';
s[len + 1] = '\0';
}
}
printf("%s\n", s);
}
return 0;
}
Monday, May 4, 2015
UVa 11233 - Deli Deli
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment