In classic mythology, there is the story of the Sphinx, a monster with the body of a lion and the upper part of a woman.
The Sphinx lay crouched on the top of a rock along the highroad to the city of Thebes, and stopped all travellers passing by, proposing to them a riddle.
Those who failed to answer the riddle correctly were killed.
This is the riddle the Sphinx asked the travellers: "What animal walks on four legs in the morning, two legs during the day, and three legs in the evening?"

This is part of the story of Oedipus, who replied to the Sphinx, "Man, who in childhood creeps on hands and knees, in manhood walks erect, and in old age with the aid of a staff."
Morning, day and night are representative of the stages of life.
The Sphinx was so mortified at the solving of her riddle that she cast herself down from the rock and perished.

Justin Case and Auntie Bellum are fellow con artists who deliver coded messages to each other to communicate. Recently Auntie Bellum was put in jail for stealing a rare and expensive diamond. Only a few days after this, Justin Case sent her a friendly letter asking her how she was. On the inside of the envelope of the letter, he hid a code. Yesterday, Auntie Bellum escaped and left the envelope and the letter inside the jail cell. The police did some research and found the code on the inside of the envelope, but they haven't been able to crack it. Could you help the police find out what the message is?
This is the code:
llwatchawtfeclocklnisksundialcirbetimersool

The message was "loose bricks in left wall." The message was put backward with words related to time in between. This is how the message looks when separated:
ll watch awtfe clock Inisk sundial cirbe timer sool
If you take out watch, clock, sundial, and timer, this is what is left:
llawtfelniskcirbesool
Look at this backwards and this is what you have:
loose bricks in left wall
Auntie Bellum took out the bricks and escaped in the night. Then, she put the bricks back where they were.

There is a big Indian and a little Indian. The little Indian is the big Indians son but the big Indian is not the little Indians father. What is the big Indian?

There are 5 pirates in a ship. Pirates have hierarchy C1, C2, C3, C4 and C5. C1 designation is the highest and C5 is the lowest.
These pirates have three characteristics:
a. Every pirate is so greedy that he can even take lives to make more money.
b. Every pirate desperately wants to stay alive.
c. They are all very intelligent.
There are total 100 gold coins on the ship. The person with the highest designation on the deck is expected to make the distribution. If the majority on the deck does not agree to the distribution proposed, the highest designation pirate will be thrown out of the ship (or simply killed). The first priority of the pirates is to stay alive and second to maximize the gold they get. Pirate 5 devises a plan which he knows will be accepted for sure and will maximize his gold. What is his plan?

To understand the answer,we need to reduce this problem to only 2 pirates. So what happens if there are only 2 pirates. Pirate 2 can easily propose that he gets all the 100 gold coins. Since he constitutes 50% of the pirates, the proposal has to be accepted leaving Pirate 1 with nothing.
Now let's look at 3 pirates situation, Pirate 3 knows that if his proposal does not get accepted, then pirate 2 will get all the gold and pirate 1 will get nothing. So he decides to bribe pirate 1 with one gold coin. Pirate 1 knows that one gold coin is better than nothing so he has to back pirate 3. Pirate 3 proposes {pirate 1, pirate 2, pirate 3} {1, 0, 99}. Since pirate 1 and 3 will vote for it, it will be accepted.
If there are 4 pirates, pirate 4 needs to get one more pirate to vote for his proposal. Pirate 4 realizes that if he dies, pirate 2 will get nothing (according to the proposal with 3 pirates) so he can easily bribe pirate 2 with one gold coin to get his vote. So the distribution will be {0, 1, 0, 99}.
Smart right?
Now can you figure out the distribution with 5 pirates? Let's see. Pirate 5 needs 2 votes and he knows that if he dies, pirate 1 and 3 will get nothing. He can easily bribe pirates 1 and 3 with one gold coin each to get their vote. In the end, he proposes {1, 0, 1, 0, 98}. This proposal will get accepted and provide the maximum amount of gold to pirate 5.

You have 25 horses. When they race, each horse runs at a different, constant pace. A horse will always run at the same pace no matter how many times it races.
You want to figure out which are your 3 fastest horses. You are allowed to race at most 5 horses against each other at a time. You don't have a stopwatch so all you can learn from each race is which order the horses finish in.
What is the least number of races you can conduct to figure out which 3 horses are fastest?

You need to conduct 7 races.
First, separate the horses into 5 groups of 5 horses each, and race the horses in each of these groups. Let's call these groups A, B, C, D and E, and within each group let's label them in the order they finished. So for example, in group A, A1 finished 1st, A2 finished 2nd, A3 finished 3rd, and so on.
We can rule out the bottom two finishers in each race (A4 and A5, B4 and B5, C4 and C5, D4 and D5, and E4 and E5), since we know of at least 3 horses that are faster than them (specifically, the horses that beat them in their respective races).
This table shows our remaining horses:
A1 B1 C1 D1 E1
A2 B2 C2 D2 E2
A3 B3 C3 D3 E3
For our 6th race, let's race the top finishers in each group: A1, B1, C1, D1 and E1. Let's assume that the order of finishers is: A1, B1, C1, D1, E1 (so A1 finished first, E1 finished last).
We now know that horse D1 cannot be in the top 3, because it is slower than C1, B1 and A1 (it lost to them in the 6th race). Thus, D2 and D3 can also not be in the to 3 (since they are slower than D1).
Similarly, E1, E2 and E3 cannot be in the top 3 because they are all slower than D1 (which we already know isn't in the top 3).
Let's look at our updated table, having removed these horses that can't be in the top 3:
A1 B1 C1
A2 B2 C2
A3 B3 C3
We can actually rule out a few more horses. C2 and C3 cannot be in the top 3 because they are both slower than C1 (and thus are also slower than B1 and A1). And B3 also can't be in the top 3 because it is slower than B2 and B1 (and thus is also slower than A1). So let's further update our table:
A1 B1 C1
A2 B2
A3
We actually already know that A1 is our fastest horse (since it directly or indirectly beat all the remaining horses). So now we just need to find the other two fastest horses out of A2, A3, B1, B2 and C1. So for our 7th race, we simply race these 5 horses, and the top two finishers, plus A1, are our 3 fastest horses.

In a far away land, it was known that if you drank poison, the only way to save yourself is to drink a stronger poison, which neutralizes the weaker poison.
The king that ruled the land wanted to make sure that he possessed the strongest poison in the kingdom, in order to ensure his survival, in any situation. So the king called the kingdom's pharmacist and the kingdom's treasurer, he gave each a week to make the strongest poison. Then, each would drink the other one's poison, then his own, and the one that will survive, will be the one that had the stronger poison. The pharmacist went straight to work, but the treasurer knew he had no chance, for the pharmacist was much more experienced in this field, so instead, he made up a plan to survive and make sure the pharmacist dies.
On the last day the pharmacist suddenly realized that the treasurer would know he had no chance, so he must have a plan. After a little thought, the pharmacist realized what the treasurer's plan must be, and he concocted a counter plan, to make sure he survives and the treasurer dies. When the time came, the king summoned both of them. They drank the poisons as planned, and the treasurer died, the pharmacist survived, and the king didn't get what he wanted. What exactly happened there?

The treasurer's plan was to drink a weak poison prior to the meeting with the king, and then he would drink the pharmacist's strong poison, which would neutralize the weak poison. As his own poison he would bring water, which will have no effect on him, but the pharmacist who would drink the water, and then his poison would surely die. When the pharmacist figured out this plan, he decided to bring water as well. So the treasurer who drank poison earlier, drank the pharmacist's water, then his own water, and died of the poison he drank before. The pharmacist would drink only water, so nothing will happen to him. And because both of them brought the king water, he didn't get a strong poison like he wanted.

A Panda Bear walked into a restaurant. He sat down at a table and ordered some food. When he was finished eating, he took out a gun and shot his waiter. He then left the restaurant.After the police caught up with him, they asked him why he had killed the waiter.He replied, "Look me up in the dictionary." What did the dictionary say?

When they looked up the word "Panda" in the dictionary, it stated, "Panda: Eats shoots and leaves."

Mick and John were in a 100 meter race. When Mick crossed the finish line, John was only at the 90 meter mark. Mick suggested they run another race. This time, Mick would start ten meters behind the starting line. All other things being equal, will John win, lose, or will it be a tie in the second race?

John will lose again. In the second race, Mick started ten meters back. By the time John reaches the 90 meter mark, Mick will have caught up him. Therefore, the final ten meters will belong to the faster of the two. Since Mick is faster than John, he will win the final 10 meters and of course the race.

I am in a land where thirty men and two women were dressed in classic black and white dress. They began to fight as soon as any of them moves.
Where am I ?

Two words are anagrams if and only if they contain the exact same letters with the exact same frequency (for example, "name" and "mean" are anagrams, but "red" and "deer" are not).
Given two strings S1 and S2, which each only contain the lowercase letters a through z, write a program to determine if S1 and S2 are anagrams. The program must have a running time of O(n + m), where n and m are the lengths of S1 and S2, respectively, and it must have O(1) (constant) space usage.

First create an array A of length 26, representing the counts of each letter of the alphabet, with each value initialized to 0. Iterate through each character in S1 and add 1 to the corresponding entry in A. Once this iteration is complete, A will contain the counts for the letters in S1. Then, iterate through each character in S2, and subtract 1 from each corresponding entry in A. Now, if the each entry in A is 0, then S1 and S2 are anagrams; otherwise, S1 and S2 aren't anagrams.
Here is pseudocode for the procedure that was described:
def areAnagrams(S1, S2)
A = new Array(26)
A.initializeValues(0)
for each character in S1
arrayIndex = mapCharacterToNumber(character) //maps "a" to 0, "b" to 1, "c" to 2, etc...
A[arrayIndex] += 1
end
for each character in S2
arrayIndex = mapCharacterToNumber(character)
A[arrayIndex] -= 1
end
for (i = 0; i < 26; i++)
if A[i] != 0
return false
end
end
return true
end