fork(5) download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int factorial(int n) {
  5. if (n == 0) return 1;
  6. else return (n * factorial(n-1));
  7. }
  8.  
  9. int main()
  10. {
  11. //freopen("in.txt", "r", stdin);
  12. //freopen("out.txt", "w", stdout);
  13. char sen[10000];
  14. char word[15][30];
  15. int cases, i, len, count, start, j, x, ara[1000], match, countf, k, r, y, t;
  16. scanf("%d", &cases);
  17. while(cases--) {
  18.  
  19. count = 0;
  20. gets(sen);
  21. len = strlen(sen);
  22. x = 0;
  23. y = 1;
  24. for (i = 0; i < len; i++) {
  25.  
  26. if(x == 0 && y == 1)
  27. {
  28. count++;
  29. x = 0;
  30. y = 0;
  31. }
  32. else if(sen[i] == ' ' && x == 0 && y == 0)
  33. {
  34. count++;
  35. x = 1;
  36. }
  37. else if(sen[i] == '\0' && y == 0)
  38. {
  39. count++;
  40. x = 1;
  41. }
  42. else if(sen[i] == ' ' && x == 1 && y == 0) {
  43. x = 1;
  44. }
  45. else
  46. {
  47. x = 0;
  48. }
  49. }
  50.  
  51. j = 0;
  52. start = 0;
  53. r = 0;
  54. t = 0;
  55. for (i = 0; i <= len; i++) {
  56. if(sen[i] == ' ' && t == 0) {
  57. x = i;
  58.  
  59. for (j = start, k = 0; j < x; j++, k++)
  60. {
  61. word[r][k] = sen[j];
  62. }
  63. word[r][k] = '\0';
  64. start = x + 1;
  65. r++;
  66. t = 1;
  67. }
  68. else if(sen[i] == ' ' && t == 1)
  69. {
  70. t = 1;
  71. start++;
  72. }
  73. else t = 0;
  74. }
  75.  
  76. for(i = start, k = 0; i < len; i++, k++) {
  77. word[r][k] = sen[i];
  78. }
  79. word[r][k] = '\0';
  80.  
  81. ara[40], match, countf;
  82. match = 1;
  83. countf = factorial(count);
  84. for(i = 0; i < count; i++) ara[i] = 0;
  85. for(i = 0; i < count; i++) {
  86. if(match > 1)
  87. countf /= factorial(match);
  88. match = 1;
  89. if(ara[i] == 0) {
  90. for (j = i+1; j < count; j++) {
  91. if(ara[j] == 0 && strcmp(word[i], word[j]) == 0) {
  92. match++;
  93. ara[j] = 1;
  94. }
  95. }
  96. }
  97. }
  98. printf("1/%d\n", countf);
  99. }
  100.  
  101. return 0;
  102. }
  103.  
  104.  
Success #stdin #stdout 0s 2012KB
stdin
3
no   way no              good
eat you rice
no way no good
stdout
1/12
1/6
1/12