1544 单复数转换
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
32M
Problem types
Allowed languages
C, C++, Java, Python
Description
众所周知,英语中的单词有单数和复数两种形式。但是不同的单词的复数形式又不能一概而论。我现在告诉你几个规则,然后给出一些单词的单数形式,要你输出对应的复数形式。有如下四项规则(优先级从上到下):
1、 有些单词的复数形式比较特别,这些单词会以列表的形式先给出来,如果要求的单词在这些列表中的话,就根据列表里给出的形式列出来
2、 如果单词以”y”结尾且倒数第二个字符为辅音字符的话,则把y替换为”ies”
3、 如果单词以”o”、”s”、”ch”、”sh”、”x”中的某个字符串结尾,则直接在这个单词后面加上”es”
4、 如果上面都不符合,则直接在后面加上”s”
注:辅音字符是指除了a、o、e、i、u以外的字符。
Inputs: 输入的第一行给出两个整数L(0<=L<=20)和N(1<=N<=100),L代表特殊单词的个数,这些单词的复数形式会以列表形式给出,N代表要处理的单词个数。
接下来有L行,每行代表一个特殊单词的转换规则,先给出单数形式,再给出对应的复数形式。最后有N行,代表要处理的N个单词。每个单词的长度都不超过30。
Output
针对每个单词,输出其对应的复数形式。
Sample
Input
2 3
fish fish
ox oxen
strawberry
ox
peach
Output
strawberries
oxen
peaches
Source: z_y
Comments