Thu, 08 Jan 2004 15:13:56 -0800 Marc LeBrun <mlb@fxpt.com> >=Michael B Greenwald > Oops... not a big deal, just needs a minor tweak. The red people > (the smaller group, always even) choose first. In the odd case > one name remains in the green hat. So far I follow... > Reveal it, add it to the red > hat, and have that green person choose first, redrawing to avoid > self-assignment. Sorry, I'm pretty lost at this point. I think what you are describing involves, midway in the process for odd N, having a single element which has a tiny chance of picking itself, thus requiring a redraw in those rare cases. No, just a local redraw (i.e. the green person draws twice if the first is self assignment). You can avoid redraws by switching the order slightly and allowing a name to live outside of any hat for one draw: ... Reveal the remaining name, have the person named by that name draw from the red hat first, and *then* add the revealed name into the red hat. At that point the red hat only contains names of people who have already drawn, so self-assignment is impossible. Each person knows that their Secret Santa was one of floor(n/2) people, which works (up-to-a-point) for all n >= 4. No self assignments, no redraws. Personally, I thought a redraw preferable to a "3rd hat" [i.e. temporarily in neither hat], but preferences vary.