fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define FR0(i,N) for(i=0;i<(N);i++)
  4. #define FR1(i,N) for(i=1;i<=(N);i++)
  5. #define FRN(i,k,N) for(i=k;i<(N);i++)
  6. #define pf printf
  7. #define db double
  8. #define max3(a,b,c) max(max(a,b),c)
  9. #define min3(a,b,c) min(min(a,b),c)
  10. #define sci(n) scanf("%d",&n)
  11. #define scl(n) scanf("%lld",&n)
  12. #define scf(n) scanf("%f",&n)
  13. #define scd(n) scanf("%lf",&n)
  14. #define scs(s) scanf("%s",&s)
  15. #define scll(n) scanf("%%I64d",&n)
  16. #define PI acos(-1.0)
  17. #define LL long long
  18. #define MX 1000005
  19. #define MOD 1000000007
  20. typedef long long int ll;
  21. bool status[1100002];
  22. int main()
  23. {
  24. int n,p;
  25. string str1[100],str2[100],str3;
  26. //getchar();
  27. while(cin>>n>>p)
  28. {
  29. for(int i=0; i<n; i++)
  30. {
  31. cin>>str1[i]>>str2[i];
  32. //gets(str1[i]);
  33. // gets(str2[i]);
  34. //getline(cin,str1);
  35. //getline(cin,str2);
  36. //cout<<"str1 = "<<str1[i]<<" str2 = "<<str2[i]<<endl;
  37. }
  38. for(int i=0; i<p; i++)
  39. {
  40. cin>>str3;
  41. //cout<<"str3 = "<<str3[i]<<endl;
  42. //gets(str3[i]);
  43.  
  44. int flag=0;
  45. //for(int i=1; i<=p; i++)
  46. //{
  47. //for(int j=1; j<=n; j++)
  48. //{
  49. int len=str3.length();
  50. for(int j=0; j<n; j++)
  51. {
  52. if(str3==str1[j])
  53. {
  54. cout<<str2[j]<<endl;
  55. flag=1;
  56. break;
  57. }
  58. if(flag==1) break;
  59. }
  60. //else
  61. //{
  62. //flag=1;
  63. //}
  64. //if(flag==0) break;
  65. //}
  66. //if(flag)
  67. //{
  68. //int len=sizeof(str3[i]);
  69. //for(int k=0; k<len; k++)
  70. //{
  71. //cout<<"len = "<<str3[len]<<endl;
  72. if(flag==0)
  73. {
  74. //cout<<"str3 = "<<str3[len-1]<<endl;
  75. if(str3[len-1]=='y' && (str3[len-2]!='a') && (str3[len-2]!='e') && (str3[len-2]!='i') && (str3[len-2]!='o') && (str3[len-2]!='u'))
  76. {
  77. string s1="";
  78. string s2="ies";
  79. for(int i=0; i<len-1; i++)
  80. {
  81. s1+=str3[i];
  82. }
  83. //cout<<"s1 = "<<s1<<endl;
  84. //cout<<s1;
  85. //cout<<s2<<endl;
  86. //flag=0;
  87. cout<<s1+s2<<endl;
  88. }
  89. else if(str3[len-1]=='o' || str3[len-1]=='s' || str3[len-1]=='x' || (str3[len-2]=='c' && str3[len-1]=='h') || (str3[len-2]=='s' && str3[len-1]=='h'))
  90. {
  91. string s1="";
  92. string s2="es";
  93. for(int i=0; i<len; i++)
  94. {
  95. s1+=str3[i];
  96. }
  97. //cout<<"s1 in= "<<s1<<endl;
  98. //cout<<s1;
  99. //cout<<s2<<endl;
  100. //flag=0;
  101. cout<<s1+s2<<endl;
  102. }
  103. else
  104. {
  105. string s2="s";
  106. //cout<<"s2 = "<<s2<<endl;
  107. //cout<<str3;
  108. //cout<<s2<<endl;
  109. //flag=0;
  110. cout<<str3+s2<<endl;
  111. }
  112. }
  113. //}
  114. }
  115. }
  116. }
  117.  
Success #stdin #stdout 0s 4536KB
stdin
3 7
rice rice
spaghetti spaghetti
octopus octopi
rice
lobster
spaghetti
strawberry
octopus
peach
turkey
stdout
rice
lobsters
spaghetti
strawberries
octopi
peaches
turkeys