A Meeting of the Shogunate

Enter the shogun.

Tony rules with iron fist,

“Let’s get functional.”

Rohit-Hime, Jay-Chan, Ninja Tiggy, Samurai Tina and Ella-Neko are all invited to a royal banquet at a circular sushi train. At the feast, all five will sit next to eachother at a round table. The table planner, Lachie-Sama, is very nervous, as he has been told by Shogun Tony that the event must run as smoothly as possible. The guests have very strong feelings about each other, and either like or dislike eachother. In fact, all five of the guests have rated on a scaling of -10 to 10 on how much they like every other guest. Lachie-Sama has tabulated their ratings as follows.

  Rohit-Hime Jay-Chan Ninja Tiggy Samurai Tina Ella Neko
Rohit-Hime   -7 4 2 -5
Jay-Chan -10 1000 -8 7 -8
Ninja Tiggy 10 -5   3 7
Samurai Tina 10 -6 4   -8
Ella-Neko 10 -10 -8 8  

So if Jay-Chan sits next to Rohit-Hime, Jay rates Rohit as -10, and Rohit rates Jay as -7. Hence, the total rating becomes -7 - 10 = -17. Your task is to choose the seating arrangement of the round sushi train. You should pick the configuration which maximises the total rating between all the guests. To solve this problem, you must first develop some type definitions to describe the situation. How are you going to implement and store the information from the table? What abstract data types would you use? What are the specifications of this problem? This is a big task, so make sure you brainstorm some ideas in a group first.

Ganbatte kudasai, student-san!