othercriteria
By: a guest | Apr 2nd, 2009 | Syntax:
Python | Size: 0.67 KB | Hits: 248 | Expires: Never
#!/usr/bin/env python
import sys
_usage = 'Usage: %s num_cookies num_people' % sys.argv[0]
try:
n_cookies = int(sys.argv[1])
n_people = int(sys.argv[2])
except:
print _usage
sys.exit()
print 'Trying to distribute identical %d cookies to %d distinct people' % \
(n_cookies, n_people)
memo = {}
for cookies in range(0, n_cookies+1): memo[(cookies, 1)] = 1
for people in range(2, n_people+1):
for cookies in range(0, n_cookies+1):
memo[(cookies, people)] = sum([memo[(leftover, people - 1)]
for leftover in range(0, cookies+1)])
print '%d different ways!' % memo[(n_cookies, n_people)]