Basically the goal was to take a bunch of couples who were into swinging and swap all of their partners. Yep, swinging.. as in:
Swinging or (rarely) partner swapping is a non-monogamous behavior, in which singles or partners in a committed relationship engage in sexual activities with others as a recreational or social activity. Swinging can take place in a number of contexts, ranging from spontaneous sexual activity at informal gatherings of friends to planned regular social meetings to hooking up with like-minded people at a swingers’ club. It can also involve Internet-based swinger social networking services online.
In order to properly swing, a couple is supposed to show up at a party and swap their partner for another partner. For our purposes we were to assume couples were heterosexual males and females.
The code we came up with was this:
Basically we found that we could randomize all of the couples then shift their partners by one. By doing it this way we could ensure things that both things were spicy AND that a man never ended up with the same woman he arrived with.