I have an table with a set of teams and how many games they need to play against each other team like the one below:
In this table, teams a, b, c, and d each play each other twice, and they play the other set of teams once each, for a total of ten games per team. I need to create a weekly matchup schedule (ex: week 1 - a vs b, c vs d, etc.) based on this table so that all games will be played in 10 weeks, with each team playing one of their matchups each week. Said another way, I need to know which team each team is playing each week for 10 weeks so that each team plays their 10 games. There is no home/away to consider.
EDIT: One additional note is that every team will play on the same day each week, so basically it's scheduling these games over 10 days with each team playing one game on each of the 10 days.
I'm having trouble figuring out a good way to do this so I'd be very grateful if anyone has any suggestions for algorithms/packages or can point me towards some resources (my language of preference is python).
Thanks in advance!
You can do a first round-robin in the first 7 days, so that every team plays against every other team exactly once. Then in the last 3 days, do two separate round-robins, so that the teams in abcd play against each other once more, and the teams in efgh play against each other once more. More about round-robin tournaments: