A man was in a small town for the day, and needed a haircut. He noticed that there were only two barbers in town, and decided to apply a bit of logical deduction to choosing the best one. Looking at their shops, he saw that the first one was very neat and the barber was clean shaven with a nice haircut. The other shop was a mess, and the barber there needed a shave and had a bad cut besides. Why did the man choose to go to the barber with the messy shop?
Since even barbers rarely try to cut their own hair, and there are only two barbers in town, they must cut each other's hair. The one with the neat hair must have it cut by the one with the bad haircut, who must then be better one, considering his own haircut.
In medieval England, a king's jester was imprisoned (the king didn't like the jester's jokes). The jester was locked in a room at the top of a high tower. The room had only one tiny window. The jester found a piece of rope. It wasn't long enough to reach the ground. So, he divided it in half and tied the two halves together. This made the rope long enough and he escaped. How?
At a dinner party, many of the guests exchange greetings by shaking hands with each other while they wait for the host to finish cooking.
After all this handshaking, the host, who didn't take part in or see any of the handshaking, gets everybody's attention and says: "I know for a fact that at least two people at this party shook the same number of other people's hands."
How could the host know this? Note that nobody shakes his or her own hand.
Assume there are N people at the party.
Note that the least number of people that someone could shake hands with is 0, and the most someone could shake hands with is N-1 (which would mean that they shook hands with every other person).
Now, if everyone at the party really were to have shaken hands with a different number of people, then that means somone must have shaken hands with 0 people, someone must have shaken hands with 1 person, and so on, all the way up to someone who must have shaken hands with N-1 people. This is the only possible scenario, since there are N people at the party and N different numbers of possible people to shake hands with (all the numbers between 0 and N-1 inclusive).
But this situation isn't possible, because there can't be both a person who shook hands with 0 people (call him Person 0) and a person who shook hands with N-1 people (call him Person N-1). This is because Person 0 shook hands with nobody (and thus didn't shake hands with Person N-1), but Person N-1 shook hands with everybody (and thus did shake hands with Person 0). This is clearly a contradiction, and thus two of the people at the party must have shaken hands with the same number of people.
Pretend there were only 2 guests at the party. Then try 3, and 4, and so on. This should help you think about the problem.
Search: Pigeonhole principle