/* 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