Hi people i am kind lost at where to start for this lab assignment i have gotten for my mid term break:

Olympiad 2012

Problem

It's London!

International Olympic Committee President Jacques Rogge has announced that London will host the 2012

Olympic Games and Paralympic Games.

6 July, 2005, Singapore

London succeeded in her bid to host the game after 4 rounds of voting:

First round:

London 22

Paris 21

Madrid 20

New York 19

Moscow 15 (eliminated)

Second round:

Madrid 32

London 27

Paris 25

New York 16 (eliminated)

Third round:

London 39

Paris 33

Madrid 31 (eliminated)

Fourth round:

London 54

Paris 50 (eliminated)

If there are more than 10 cities competing to host the Olympic, there will be more rounds of voting, and

vote casting could become a marathon meeting. To avoid many rounds of vote casting, perhaps the

committee should use Australian ballots.

Australian ballots require that the voters rank the candidates in order of their choice. Initially only the first

choices of all voters are counted. If one candidate receives more than 50% of the vote, that candidate is

elected. If no candidate receives more than 50%, all candidates tied for the lowest number of votes are eliminated. When candidates eliminated received 0 vote, then the result of counting will not be changed. Only when the eliminated candidates have non-zero vote counts, then the ballots voted for these eliminated candidates are recounted in favour of their next highest

ranked candidate who has not been eliminated. This process continues until one candidate receives more than 50% of the vote or until all candidates are tied.

For example, suppose there are 4 cities involved, namely A, B, C and D. According to the first choice of the

100 votes received, 40 are for A and D, with B and C are getting 10 votes each. Since none of them receive a

majority, B and C are tied with the lowest vote count (10) and they are eliminated. Those who voted for B

and C will have their votes recount, using their second choice, or third choice when their second choice is also a city that has been eliminated (B or C). After the recount, A has 55 votes and D has 45 votes. So A is the winner.

You are required to write a program to solve this problem. Since this exercise is on STL queue handling, the ranking of candidates found in a ballot should be organized as a queue. When a candidate is eliminated, the votes for this candidate are to be removed from the queues eventually.

Input

The first line of input is an integer n <= 20 indicating the number of candidates. The next n lines consist of

the names of the candidates, one name per line. Names may be up to 80 characters in length and may

contain any printable characters. After these n lines, up to 1000 lines follow with one line for one ballot.

Each line contains exactly n numbers in the range from 1 to n in some order. The first number is the

candidate of first choice; the second number is the candidate of second choice, and so on.

Sample Input 1

3

London

Paris

Madrid

1 2 3

2 1 3

2 3 1

1 2 3

3 1 2

Sample Input 2

3

London

Paris

Madrid

1 2 3

2 1 3

2 3 1

1 2 3

3 1 2

3 1 2

Output

The Output consists of one line containing either the name of the winner or “no winner” when all

candidates tied.

Sample Output 1 (corresponding to sample input 1)

London

Sample Output 2 (corresponding to sample input 2)

no winner

**I was thinking of placing each ranking of each person into one element of vector<int>. Then will check the first int ranking of the person, in order to find out the person's first ranking. Then i will increment the respective country's votes by 1. Hmm but how to go about incrementing the country's votes? Use struct?**