From 7d237786c0d93290cd4801e73725d281984ed773 Mon Sep 17 00:00:00 2001 From: Seongbeom Park Date: Mon, 21 Mar 2022 16:13:55 +0900 Subject: [PATCH] Unroll large number division --- level5/disorderly-escape/solution.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/level5/disorderly-escape/solution.py b/level5/disorderly-escape/solution.py index 3c8b92e..b90c70a 100644 --- a/level5/disorderly-escape/solution.py +++ b/level5/disorderly-escape/solution.py @@ -9,7 +9,10 @@ def solution(w, h, s): if c not in memo_sp: memo_sp[c] = s ** c cases += memo_sp[c] - return str(cases / (memo_f[w] * memo_f[h])) + result = cases + result /= memo_f[w] + result /= memo_f[h] + return str(result) def generate_cycle_count(w, h, memo_f = {}): memo_c = {} @@ -75,7 +78,9 @@ def count_permutation(s, memo_f, memo_p): for size, freq in group.items(): if freq not in memo_f: memo_f[freq] = math.factorial(freq) - result /= memo_f[freq] * (size ** freq) + result /= memo_f[freq] + for i in range(freq): + result /= size memo_p[s] = result return memo_p[s]