fork download
  1. def choose(m)
  2. self.factorial / (m.factorial * (self - m).factorial)
  3. end
  4. def fact (n)
  5. if n < 2
  6. return 1
  7. end
  8. (2..n).inject(1) { |f, n| f * n }
  9. end
  10. mod = 10**9 + 7
  11. t = gets.to_i
  12. while t > 0
  13.  
  14. s = gets.chomp
  15. s = s.gsub("j","")
  16. s = s.gsub("J","")
  17. s = s.gsub("u","")
  18. s = s.gsub("U","")
  19. s = s.gsub("w","")
  20. s = s.gsub("W","")
  21. n = s.length
  22. m = n
  23.  
  24. count = []
  25. i = 0
  26. while s[i]!=nil
  27. count << s.count(s[i])
  28. puts s.count(s[i])
  29. s = s.gsub(s[i],"")
  30.  
  31. end
  32. n = count.length
  33. deno = 1
  34. (0..n-1).each{ |i|
  35. deno = deno * fact(count[i])
  36.  
  37.  
  38. }
  39. if(m != 0 )
  40. print "%d\n" %"#{(fact(m)/deno)%mod}"
  41. else
  42. puts "0"
  43. end
  44. t= t - 1
  45. end
Success #stdin #stdout 0s 4760KB
stdin
1
aba
stdout
2
1
3