fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. char *num[11] = {"zero","one","two","three","four","five","six","seven","eight","nine","ten"};
  4. char* compareChar(char* s1, char* s2){
  5. int i=0, j;
  6. while(s1[i]){
  7. j=0;
  8. while(s2[j]){
  9. if(s1[i]==s2[j]){
  10. //printf(">%c %d %s\n", s1[i], j, s2);
  11. s2[j] = '-';
  12. break;
  13. }
  14. j++;
  15. }
  16. //printf(">>%s\n", s2);
  17. if(!s2[j]) return "No";
  18. i++;
  19. }
  20. //printf(">>>%s\n", s2);
  21. if(s2[i]) return "No";
  22. return "Yes";
  23. }
  24. int getN(char* s){
  25. int i;
  26. for(i=0; i<11; i++){
  27. if(strcmp(s,num[i])==0){
  28. //printf(">>>%s = %d\n", s, i);
  29. return i;
  30. }
  31. }
  32. return -1;
  33. }
  34. int main() {
  35. int n, i, j, r, t;
  36. char a[11], b[11], c[11], op[2],e[2];
  37.  
  38. scanf("%d",&n);
  39. while(n--){
  40. scanf("%s%s%s%s%s", a,op,b,e,c);
  41. r = getN(a);
  42. t=getN(b);
  43. if(op[0]=='+') r+=t;
  44. else if(op[0]=='-') r-=t;
  45. else if(op[0]=='*') r*=t;
  46. else r/=t;
  47. if(r<0 || r>11) printf("No\n");
  48. else printf("%s\n", compareChar(num[r], c));
  49. }
  50. return 0;
  51. }
  52. // int getN(char* s){
  53. // if(!strcmp(s,"zero")) return 0;
  54. // if(!strcmp(s,"one")) return 1;
  55. // if(!strcmp(s,"two")) return 2;
  56. // if(!strcmp(s,"three")) return 3;
  57. // if(!strcmp(s,"four")) return 4;
  58. // if(!strcmp(s,"five")) return 5;
  59. // if(!strcmp(s,"six")) return 6;
  60. // if(!strcmp(s,"seven")) return 7;
  61. // if(!strcmp(s,"eight")) return 8;
  62. // if(!strcmp(s,"nine")) return 9;
  63. // if(!strcmp(s,"ten")) return 10;
  64. // return -1;
  65. // }
  66. // char* getS(int n){
  67. // if(n==0) return "zero";
  68. // if(n==1) return "one";
  69. // if(n==2) return "two";
  70. // if(n==3) return "three";
  71. // if(n==4) return "four";
  72. // if(n==5) return "five";
  73. // if(n==6) return "six";
  74. // if(n==7) return "seven";
  75. // if(n==8) return "eight";
  76. // if(n==9) return "nine";
  77. // if(n==10) return "ten";
  78. // return "!";
  79. // }
  80. // int main() {
  81. // int n, i, j, r, t;
  82. // char a[11], b[11], c[11], op[2],e[2];
  83. // scanf("%d",&n);
  84. // while(n--){
  85. // scanf("%s%s%s%s%s", a,op,b,e,c);
  86. // r = getN(a);
  87. // t=getN(b);
  88. // if(op[0]=='+') r+=t;
  89. // else if(op[0]=='-') r-=t;
  90. // else if(op[0]=='*') r*=t;
  91. // else r/=t;
  92. // printf("%s\n", compareChar(getS(r), c));
  93. // }
  94. // return 0;
  95. // }
  96.  
Success #stdin #stdout 0s 2296KB
stdin
2
two + three = ivef
zero * zero = one
stdout
Yes
No