Skip to main content
gamedev.net
🔒 Locked

Need help!

Started by lonewolf2852 Feb 24, 2008 at 2:09 PM 1 replies 900+ views
Original Post
lonewolf2852
lonewolf2852
I need help with recursive and dynamic programming, could somebody please send me links to any detailed tutorials (hopefully for beginners). Also this problem from the CCC 2007 has been bothering me (for a long time now) could someone walk me through it? Problem S4: Waterpark Problem Description The local waterpark has a great slide complex, with many paths crisscrossing down the hill. There is one start point and one end point, but at various points one can turn and take different paths. Walter and Wanda are wondering exactly how many different ways there are to go down the slide. Can you solve their problem? More precisely, there are n marked points (including the start at 1 and the end at n) where the paths down the hill may split or merge. All paths move down the hill to higher numbered positions; some paths will actually cross over others without meeting but we don’t have to worry about that. We won’t worry about the collisions between sliders that can happen either. Our problem is simply to determine the number of different sequences of marked points we can follow down the hill. For example, at one small waterpark, there are 4 points with direct slides from 1 to points 2 and 4; from 2 to 3 and 4; and from 3 to 4. There are 3 ways down the hill. You can check this by seeing that we can go (1,2,3,4), (1,2,4) or (1,4). (Here is a hint: think about starting at the bottom of the slide.) Input Specification Input begins with a single integer n (1  n  9999), on a line by itself, indicating the number of marked points. The next lines contain point pairs of the of the form x y, where 1  x < y  n. For example, 1234 8765 indicates a direct slide from point 1234 to point 8765. The last line of input will be indicated by point pair 0 0. Output Specification The output is an integer, which is the number of different paths from point 1 to point n. You can assume that the number of paths will be less than 230. It is possible that there is no path from point 1 to point n, in which case the number of paths is 0. Sample Input 4 1 2 1 4 2 3 2 4 3 4 0 0 Output for Sample Input 3
---Veni, Vidi, Vici.War is Peace. Freedom is Slavery. Ignorance is strength.
Antheus
Antheus
This is basically a graph searching/traversal algorithm.

You might want to start here, and examine the related links.

Dynamic programming is somewhat more complicated, since it requires understanding of recursion, and how some predicates may reduce the computation complexity at expense of space complexity.

This particular problem doesn't require dynamic programming, but can be solved with it. Start with simpler examples of graph traversal before going the dynamic programming route.
lonewolf2852
lonewolf2852
Thanks Antheus, I'll look it up.
---Veni, Vidi, Vici.War is Peace. Freedom is Slavery. Ignorance is strength.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.