The updated code is - Solution_v5.py
How to run - python3 Solution_v5.py ./inputs/e_also_big.in
Solution_v5.py This is a hybrid solution. This solution could give you an optimal result.
-
Step 1: The program will scan the input
pizza_typesfrom the left side (in decreasing order) and forms a greedy solution that can provide total slice ordered less than max slice required. Let the output set of pizza types bepizza_types_orderd_greedyand remaining pizza slice to be ordered isorder_remaining. See thegreedySolution()method ofSolution_v5.py. -
Step 2: The program will scan the input pizza types from the right side (in increasing order) and feed it to dynamic programing(DP) solution. The input to the DP is
order_remainingandpizza_types. Let the output set of pizza types bepizza_types_orderd_dp. See thedynamicSolution()method ofSolution_v5.py. -
Step 3: Add the output set of Step 1: and Step 2: i.e
pizza_types_orderd_dp + pizza_types_orderd_greedyto get the optimal result.