All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > Algorithms
Hat Exchange (Posted on 2005-02-24) Difficulty: 3 of 5
At a party with N people, each person is identified by a unique number between 1 and N. Each person is also wearing a hat with their number on it. They decide to play a game. Each person passes his or her hat to the person with the next highest number (so person 2 gets hat 1, person 3 gets hat 2, and person 1 gets hat N). The game proceeds from there in rounds; on each round, each person may choose to either keep the hat they currently have, or swap hats with exactly one other person.

What is the minimum number of rounds, as a function of N, that it would take for every person to get their own hat back? Note: each person can see their own hat at any time.

See The Solution Submitted by Avin    
Rating: 3.0000 (5 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Solution Better Solution (spoiler) | Comment 6 of 9 |

Two rounds, in every case where N>2.  The problem is trivial when N<3.

Take the following example where N=9.  I simply reverse the order of all the hats, and again reverse all but the last hat to the finish position.  Great puzzle!

9 8 1
1 7 2
2 6 3
3 5 4
4 4 5
5 3 6
6 2 7
7 1 8
8 9 9

  Posted by Tristan on 2005-02-26 03:01:46
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information