Solving a Special Kind of Box Stacking problem with dynamic programming approach + Awesome Visualization