Facebook
From Gracious Octupus, 3 Years ago, written in Python.
This paste is a reply to Re: Untitled from Funky Tapir - view diff
Embed
Download Paste or View Raw
Hits: 238
  1. import math
  2. import collections
  3. s = input()
  4. c = collections.Counter(s)
  5. k = list(input())
  6.  
  7. a = min([c[i] for i in k])
  8. ans = 0
  9. cnt = 0
  10. while cnt < a:
  11.     for i in k:
  12.         c[i] -= 1
  13.     cnt += 1
  14.     kans = sum(c.values())
  15.     kans = math.factorial(kans+cnt)
  16.     kans //= math.factorial(cnt)
  17.     for i in c.values():
  18.         kans //= math.factorial(i)
  19.     ans = ans + (-1)**(cnt+1) * kans
  20. print(ans)