# A Race of Liars

You find yourself in a strange land where a race with five participants has just taken place. Each of the runners is a different age, and each either always tells the truth, always lies, or strictly alternates between true and false statements (i.e. if one statement is true then their next statement is a lie and vice versa). Each of the five competitors makes the following statements to you in the order that they’re presented. Figure out the type of person each runner is (truth-teller, liar, or alternator), their relative ages and the order in which they finished the race.

Andy says:

Bill always lies.
Eddie always lies.
I'm older than Chris.
I'm younger than Bill.
The oldest person came in 4th place.

Bill says:

Chris always lies.
Andy always lies.
I'm older than Danny.
I'm younger than Chris.
The 5th oldest person came in 3rd place.

Chris says:

Danny always lies.
Bill always lies.
I'm older than Eddie.
I'm younger than Danny.
The 4th oldest person came in 1st place.

Danny says:

Eddie always lies.
Chris always lies.
I'm older than Andy.
I'm younger than Eddie.
The 3rd oldest person came in 2nd place.

Eddie says:

Andy always lies.
Danny always lies.
I'm older than Bill.
I'm younger than Andy.
The 2nd oldest person came in 5th place.

To me, seems like:

Eddie says the truth
Danny and Andy are liars
Bill and Chris alternate (Bill starts telling a lie and Chris starts telling the truth.)
Ages: Bill<Eddie<Danny<Andy<Chris
Order: Andy<Danny<Chris<Bill<Eddie

They always talk about the next and the previous one, calling them liars. So, if there is at least one truthteller, he should be surrounded by two liars. So if there is one truthteller:
_ L T L _

Two liars cannot be adjacent, so if there is another truthteller: T L T L L, we have a contradiction. We have at most one truthteller: A L T L A

Alternators should have exactly one liar adjacent. If there is not a truthteller, then: A L A A L (the first A has two adjacent liars, so contradiction).

Now we know the exact number and structure of truth-liar-alternator: A L T L A

If we force-brute the ages, assuming one of them is the truthteller and looking for a contradiction, we end up with two of them as candidates for the truthteller position: Danny and Eddie.

If Danny were the truthteller, and order all of them by finish order, he is lying in his last statement: "The 3rd oldest person came in 2nd place."
The 3rd oldest person finished 4th.

So the truthteller is Eddie.

• I like the reasoning piece! Apr 21, 2016 at 15:39
• Brilliant. Could use same style of reasoning for ages (they offset by 2 and 1) and for "ahead of" (they offset by 3 and 4); there are then only 5 cases to consider. (the 5 cycles of: At L T L Al). Apr 21, 2016 at 16:50
• Think you did a great job reasoning this out and marked it as accepted, but I think you're mistaken about the two candidates for truth-teller. Because of the cyclical nature of the statements, just brute forcing the ages isn't enough to rule out anyone, any positioning of A L T L A will produce a valid corresponding ordering of their ages. It's only once you combine that with the corresponding race results, and then evaluate their final statements, that the contradictions appear. Apr 21, 2016 at 20:10
• @SQLnoob - hmm, yes that appears to be true - I just did it for one truth teller and brute-forcing from the age statements made and I got the same 5 cases, At L T L Af cycled, as I mentioned above. If we then look at those 5 for a contradiction on "I finished ahead of" statements we still have all 5. Apr 21, 2016 at 21:35

The race finished, from 1st to 5th:

Eddie, Bill, Chris, Danny, Andy

The ages, from youngest to oldest:

Bill, Eddie, Danny, Andy, Chris

The type of person each was:

Andy: Liar
Bill: Alternator (lies first)
Chris: Alternator (tells truth first)
Danny: Liar
Eddie: Truth-teller

And the statements, adjusted to be true. (I flipped the statement and put a "*" for ones that were originally lies.)

Andy (liar):

Bill does not always lie.*
Eddie does not always lie.*
I'm younger than Chris.*
I'm older than Bill.*
I finished after Danny.*
I finished after Eddie.*
The oldest person did not come in 4th place.*

Bill (alt, lie first):

Chris does not always lie.*
Andy always lies.
I'm younger than Danny.*
I'm younger than Chris.
I finished after Eddie.*
The 5th oldest person did not come in 3rd place.*

Chris (alt, truth first):

Danny always lies.
Bill does not always lie.*
I'm older than Eddie.
I'm older than Danny.*
I finished after Bill.*
The 4th oldest person came in 1st place.

Danny (liar):

Eddie does not always lie.*
Chris does not always lie.*
I'm younger than Andy.*
I'm older than Eddie.*
I finished after Bill.*
I finished after Chris.*
The 3rd oldest person did not come in 2nd place.*

Eddie (honest):

Andy always lies.
Danny always lies.
I'm older than Bill.
I'm younger than Andy.