Atcoderというサイトのいろはちゃんとマス目 / Iroha and a Grid
という問題をpython3で実装しました。
http://abc042.contest.atcoder.jp/tasks/arc058_b
基本的な解法は合っていると思うのですが、計算する値の桁数がとてつもなく多くなってしまうような場合、いつまで経ってもプログラムの処理が終わりません。
何が原因か、教えていただけないでしょうか。
実装したコードはこちらです。
Python
1H,W,A,B = [int(n) for n in input().split(" ")] 2answers = [] 3for total in range(B,W): 4 disp = 1 5 for n in range(1,total+(H-A)): 6 disp *= n 7 for m in range(1,H-A ): 8 disp //= m 9 for t in range(1,total + 1): 10 disp //= t 11 answers.append(disp%( 10 ** 9 + 7)) 12 13for cnt,total in enumerate(range(B,W)): 14 disp = 1 15 for n in range(1,(W - total - 1) + (H - (H - A))): 16 disp *= n 17 for m in range(1,H- (H - A)): 18 disp //= m 19 for t in range(1,W-total): 20 disp //= t 21 answers[cnt] *= disp%( 10 ** 9 + 7) 22print(sum(answers) %( 10 ** 9 + 7))
処理が終わらなくなってしまう入力値はこちらです。
100000 100000 44444 55555
想定出力値はこちらです。
738162020
どうぞ、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/05 07:50