# Scheduling workers so every worker works with every other

I have a weekly roster, with 6 tasks and 2 worker on each task (ie 12 workers) I have a sample spreadsheet but i am not sure how to upload it here

I want the tasks to be set in such a way that each week every worker works with a different worker than previously worked with.

The tasks remain static in the roster location, but each week the workers move down one task

By the time they rotate through the entire roster (12 weeks) they will have worked with every other worker once. (they will always need to work with one worker twice because they cant work with themselves.)

I have achieved this with my old 10 worker roster (5 tasks) but am not able to work it out for the 12 worker (6 tasks) roster

(in the 10 worker roster the tacks are in this order D, B, C, A, E, A1, B1, E1, C1, D1.)

The tasks can be in any order however preferably not consecutive ie Task A is not followed by Task A1 etc, as this will mean a worker works the task two weeks running

Is anyone able to assist?

• Uh, are you asking for help? This doesn't seem like a riddle. – bgmCoder Aug 15 '15 at 2:52
• I'm voting to close this question as off-topic because it seems like the user is asking for help (therefore it should be on Super-User, perhaps) and is not asking a riddle. – bgmCoder Aug 15 '15 at 2:53
• @BGM Puzzles include more than just riddles. I think this is on-topic (similar to this question), although it could be cleaned up a bit. – f'' Aug 15 '15 at 3:11

This is impossible for 12 workers.

First, consider the 10-worker example. Write the task list out twice: DBCAEABECDDBCAEABECD

Consider the distance between pairs of the same letter. The requirement that every worker works with every other one is equivalent to the statement that every distance from 1 to 9 is represented. D has distances of 1 and 9, A has distances of 2 and 8, E has distances of 3 and 7, C has distances of 4 and 6, and B has a distance of 5. Note that the distances for each letter sum to 10 (5+5=10 for B), because when we wrote the list twice we put identical tasks 10 spaces apart.

If we go back to our single list, this means that we need one distance from each set {1,9}{2,8}{3,7}{4,6}{5}.

Now we need to do the same thing for 12 workers. We need one distance from each set {1,11}{2,10}{3,9}{4,8}{5,7}{6}. Because three of these sets contain only odd numbers and three contain only even numbers, the sum of the distances must be odd.

But if we divide the twelve positions into pairs and sum the distances, the result is always even, as this diagram shows: Every green segment is counted an odd number of times, and every yellow segment is counted an even number of times. Because there are 6 green segments, the total is even.

Because the sum of the distances cannot be odd, it is impossible for every worker to work with every other worker. The best you can do is for each worker to work with every worker except one, and work with two different workers twice. The diagram shows one way to do this: ABCDBECFDFBA.

The same method shows that it is impossible for any number of workers 8n+4 or 8n+6 where n is an integer.

• Thank you for your response and especially taking the time to explain why it will not work, it is much appreciated. – Koala Aug 15 '15 at 6:13