Question
A beautiful princess is to select a husband from n suitors. The suitors are assigned consecutive numbers 0,, n 1 and seated at a round
A beautiful princess is to select a husband from n suitors. The suitors are assigned consecutive numbers 0,, n 1 and seated at a round table. A random sequence of n 1 numbers x0, x1,,xn-2, all of them in the range 0,, n 1 is selected. The princess starts with suitor 0, and moving in a clockwise direction, she counts off x0 positions and eliminates the suitor at that position. From there, she counts off another x1 positions and eliminates the suitor at that position. She continues doing this until one lucky guy is left: she marries him and they live happily ever after. Assume that the princess position is next to a suitors chair. As an example, assume the suitors are named A, B, C, and D, with A being numbered 0 and D being numbered 3. Let the random sequence be 0, 2, and 1. Then the suitors will be eliminated in the order A, D, and C, and the lucky suitor will be B. Write a class that uses a circular linked list to help the princess make her decision. The constructor for the class will be passed the number n of suitors, followed by a list of n suitors names (say A, B, C, D), followed by a list of n 1 numbers used to rotate among the suitors. The current position of the princess starts at the beginning of the linked list. The class should have a method rotate(int x) that counts off x steps in the clockwise direction beginning at the current position. The class should have a method ListgetEliminated() that returns a list, in order of elimination, of the names of the suitors already eliminated. The class should also have a method ListgetHopeful() that returns a list of suitors not yet eliminated. Write a test program that obtains the input n and a list of n suitors names from the user. The test program should generate the list of random n 1 numbers to be used as the rotate steps. Using the class you have written, the test program prints the names of the rejected suitors (in order of rejection), and then prints the name of the lucky guy.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started