JOI2006模擬試験2 問題5@Python(24)
多倍長問題で非常に腹が立ったので腹いせにPythonで組む。
#!/usr/bin/python # -*- coding: utf-8 -*- import sys def combination(all, select): if(select < 0 or select > all): return 0 ret = 1 for i in xrange(select): ret=ret*(all-i)/(1+i) return ret (nstr, mstr, rstr) = tuple(sys.stdin.readline().split(' ')) n = int(nstr) m = int(mstr) r = int(rstr) realr = r - n * m separators = n - 1 patterns = combination(realr + separators, separators) print "%d" % patterns
さっきのコードに比べてやけに短いので余計に腹が立った。