research/dfbnet/schluesselzahlen.py
2024-11-30 09:57:00 +01:00

137 lines
10 KiB
Python

rahmenplan = {}
rahmenplan[4] = [
[(1,3),(1,2),(2,3)],
[(4,2),(3,4),(4,1)],
]
rahmenplan[6] = [
[(1,5), (2,6), (1,3), (1,2), (2,5)],
[(3,2), (4,1), (4,2), (3,6), (4,3)],
[(6,4), (5,3), (6,5), (5,4), (6,1)],
]
rahmenplan[8] = [
[(1,7), (2,3), (1,5), (2,6), (1,3), (1,2), (2,7)],
[(3,4), (4,8), (3,7), (4,1), (4,2), (3,8), (4,5)],
[(5,2), (6,1), (6,4), (5,3), (6,7), (5,6), (6,3)],
[(8,6), (7,5), (8,2), (7,8), (8,5), (7,4), (8,1)],
]
rahmenplan[10] = [
[(1,9), (2,5), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,9)],
[(3,6), (4,3), (3,2), (4,8), (3,7), (4,1), (4,2), (3,10), (4,7)],
[(5,4), (6,10), (5,9), (6,1), (6,4), (5,3), (6,9), (5,8), (6,5)],
[(7,2), (8,1), (8,6), (7,5), (8,2), (7,10), (8,7), (7,6), (8,3)],
[(10,8), (9,7), (10,4), (9,3), (10,9), (9,8), (10,5), (9,4), (10,1)],
]
rahmenplan[12] = [
[(1,11), (2,7), (1,9), (2,3), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,11)],
[(3,8), (4,5), (3,4), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,12), (4,9)],
[(5,6), (6,3), (5,2), (6,10), (5,9), (6,1), (6,4), (5,3), (6,11), (5,10), (6,7)],
[(7,4), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,12), (8,9), (7,8), (8,5)],
[(9,2), (10,1), (10,8), (9,7), (10,4), (9,3), (10,11), (9,10), (10,7), (9,6), (10,3)],
[(12,10), (11,9), (12,6), (11,5), (12,2), (11,12), (12,9), (11,8), (12,5), (11,4), (12,1)],
]
rahmenplan[14] = [
[(1,13), (2,9), (1,11), (2,5), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,13)],
[(3,10), (4,7), (3,6), (4,3), (3,2), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,14), (4,11)],
[(5,8), (6,5), (5,4), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,13), (5,12), (6,9)],
[(7,6), (8,3), (7,2), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,14), (8,11), (7,10), (8,7)],
[(9,4), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,13), (9,12), (10,9), (9,8), (10,5)],
[(11,2), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,14), (12,11), (11,10), (12,7), (11,6), (12,3)],
[(14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,13), (13,12), (14,9), (13,8), (14,5), (13,4), (14,1)],
]
rahmenplan[16] = [
[(1,15), (2,11), (1,13), (2,7), (1,11), (2,3), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,15)],
[(3,12), (4,9), (3,8), (4,5), (3,4), (4,16), (3,15), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,16), (4,13)],
[(5,10), (6,7), (5,6), (6,3), (5,2), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,15), (5,14), (6,11)],
[(7,8), (8,5), (7,4), (8,16), (7,15), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,16), (8,13), (7,12), (8,9)],
[(9,6), (10,3), (9,2), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,15), (9,14), (10,11), (9,10), (10,7)],
[(11,4), (12,16), (11,15), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,16), (12,13), (11,12), (12,9), (11,8), (12,5)],
[(13,2), (14,1), (14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,15), (13,14), (14,11), (13,10), (14,7), (13,6), (14,3)],
[(16,14), (15,13), (16,10), (15,9), (16,6), (15,5), (16,2), (15,16), (16,13), (15,12), (16,9), (15,8), (16,5), (15,4), (16,1)],
]
rahmenplan[18] = [
[(1,17), (2,13), (1,15), (2,9), (1,13), (2,5), (1,11), (2,18), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,17)],
[(3,14), (4,11), (3,10), (4,7), (3,6), (4,3), (3,2), (4,16), (3,15), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,18), (4,15)],
[(5,12), (6,9), (5,8), (6,5), (5,4), (6,18), (5,17), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,17), (5,16), (6,13)],
[(7,10), (8,7), (7,6), (8,3), (7,2), (8,16), (7,15), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,18), (8,15), (7,14), (8,11)],
[(9,8), (10,5), (9,4), (10,18), (9,17), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,17), (9,16), (10,13), (9,12), (10,9)],
[(11,6), (12,3), (11,2), (12,16), (11,15), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,18), (12,15), (11,14), (12,11), (11,10), (12,7)],
[(13,4), (14,18), (13,17), (14,1), (14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,17), (13,16), (14,13), (13,12), (14,9), (13,8), (14,5)],
[(15,2), (16,1), (16,14), (15,13), (16,10), (15,9), (16,6), (15,5), (16,2), (15,18), (16,15), (15,14), (16,11), (15,10), (16,7), (15,6), (16,3)],
[(18,16), (17,15), (18,12), (17,11), (18,8), (17,7), (18,4), (17,3), (18,17), (17,16), (18,13), (17,12), (18,9), (17,8), (18,5), (17,4), (18,1)],
]
rahmenplan[20] = [
[(1,19), (2,15), (1,17), (2,11), (1,15), (2,7), (1,13), (2,3), (1,11), (2,18), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,19)],
[(3,16), (4,13), (3,12), (4,9), (3,8), (4,5), (3,4), (4,20), (3,19), (4,16), (3,15), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,20), (4,17)],
[(5,14), (6,11), (5,10), (6,7), (5,6), (6,3), (5,2), (6,18), (5,17), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,19), (5,18), (6,15)],
[(7,12), (8,9), (7,8), (8,5), (7,4), (8,20), (7,19), (8,16), (7,15), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,20), (8,17), (7,16), (8,13)],
[(9,10), (10,7), (9,6), (10,3), (9,2), (10,18), (9,17), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,19), (9,18), (10,15), (9,14), (10,11)],
[(11,8), (12,5), (11,4), (12,20), (11,19), (12,16), (11,15), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,20), (12,17), (11,16), (12,13), (11,12), (12,9)],
[(13,6), (14,3), (13,2), (14,18), (13,17), (14,1), (14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,19), (13,18), (14,15), (13,14), (14,11), (13,10), (14,7)],
[(15,4), (16,20), (15,19), (16,1), (16,14), (15,13), (16,10), (15,9), (16,6), (15,5), (16,2), (15,20), (16,17), (15,16), (16,13), (15,12), (16,9), (15,8), (16,5)],
[(17,2), (18,1), (18,16), (17,15), (18,12), (17,11), (18,8), (17,7), (18,4), (17,3), (18,19), (17,18), (18,15), (17,14), (18,11), (17,10), (18,7), (17,6), (18,3)],
[(20,18), (19,17), (20,14), (19,13), (20,10), (19,9), (20,6), (19,5), (20,2), (19,20), (20,17), (19,16), (20,13), (19,12), (20,9), (19,8), (20,5), (19,4), (20,1)],
]
rahmenplan[22] = [
[(1,21), (2,17), (1,19), (2,13), (1,17), (2,9), (1,15), (2,5), (1,13), (2,22), (1,11), (2,18), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,21)],
[(3,18), (4,15), (3,14), (4,11), (3,10), (4,7), (3,6), (4,3), (3,2), (4,20), (3,19), (4,16), (3,15), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,22), (4,19)],
[(5,16), (6,13), (5,12), (6,9), (5,8), (6,5), (5,4), (6,22), (5,21), (6,18), (5,17), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,21), (5,20), (6,17)],
[(7,14), (8,11), (7,10), (8,7), (7,6), (8,3), (7,2), (8,20), (7,19), (8,16), (7,15), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,22), (8,19), (7,18), (8,15)],
[(9,12), (10,9), (9,8), (10,5), (9,4), (10,22), (9,21), (10,18), (9,17), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,21), (9,20), (10,17), (9,16), (10,13)],
[(11,10), (12,7), (11,6), (12,3), (11,2), (12,20), (11,19), (12,16), (11,15), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,22), (12,19), (11,18), (12,15), (11,14), (12,11)],
[(13,8), (14,5), (13,4), (14,22), (13,21), (14,18), (13,17), (14,1), (14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,21), (13,20), (14,17), (13,16), (14,13), (13,12), (14,9)],
[(15,6), (16,3), (15,2), (16,20), (15,19), (16,1), (16,14), (15,13), (16,10), (15,9), (16,6), (15,5), (16,2), (15,22), (16,19), (15,18), (16,15), (15,14), (16,11), (15,10), (16,7)],
[(17,4), (18,22), (17,21), (18,1), (18,16), (17,15), (18,12), (17,11), (18,8), (17,7), (18,4), (17,3), (18,21), (17,20), (18,17), (17,16), (18,13), (17,12), (18,9), (17,8), (18,5)],
[(19,2), (20,1), (20,18), (19,17), (20,14), (19,13), (20,10), (19,9), (20,6), (19,5), (20,2), (19,22), (20,19), (19,18), (20,15), (19,14), (20,11), (19,10), (20,7), (19,6), (20,3)],
[(22,20), (21,19), (22,16), (21,15), (22,12), (21,11), (22,8), (21,7), (22,4), (21,3), (22,21), (21,20), (22,17), (21,16), (22,13), (21,12), (22,9), (21,8), (22,5), (21,4), (22,1)],
]
rahmenplan[24] = [
[(1,23), (2,19), (1,21), (2,15), (1,19), (2,11), (1,17), (2,7), (1,15), (2,3), (1,13), (2,22), (1,11), (2,18), (1,9), (2,14), (1,7), (2,10), (1,5), (2,6), (1,3), (1,2), (2,23)],
[(3,20), (4,17), (3,16), (4,13), (3,12), (4,9), (3,8), (4,5), (3,4), (4,24), (3,23), (4,20), (3,19), (4,16), (3,15), (4,12), (3,11), (4,8), (3,7), (4,1), (4,2), (3,24), (4,21)],
[(5,18), (6,15), (5,14), (6,11), (5,10), (6,7), (5,6), (6,3), (5,2), (6,22), (5,21), (6,18), (5,17), (6,14), (5,13), (6,10), (5,9), (6,1), (6,4), (5,3), (6,23), (5,22), (6,19)],
[(7,16), (8,13), (7,12), (8,9), (7,8), (8,5), (7,4), (8,24), (7,23), (8,20), (7,19), (8,16), (7,15), (8,12), (7,11), (8,1), (8,6), (7,5), (8,2), (7,24), (8,21), (7,20), (8,17)],
[(9,14), (10,11), (9,10), (10,7), (9,6), (10,3), (9,2), (10,22), (9,21), (10,18), (9,17), (10,14), (9,13), (10,1), (10,8), (9,7), (10,4), (9,3), (10,23), (9,22), (10,19), (9,18), (10,15)],
[(11,12), (12,9), (11,8), (12,5), (11,4), (12,24), (11,23), (12,20), (11,19), (12,16), (11,15), (12,1), (12,10), (11,9), (12,6), (11,5), (12,2), (11,24), (12,21), (11,20), (12,17), (11,16), (12,13)],
[(13,10), (14,7), (13,6), (14,3), (13,2), (14,22), (13,21), (14,18), (13,17), (14,1), (14,12), (13,11), (14,8), (13,7), (14,4), (13,3), (14,23), (13,22), (14,19), (13,18), (14,15), (13,14), (14,11)],
[(15,8), (16,5), (15,4), (16,24), (15,23), (16,20), (15,19), (16,1), (16,14), (15,13), (16,10), (15,9), (16,6), (15,5), (16,2), (15,24), (16,21), (15,20), (16,17), (15,16), (16,13), (15,12), (16,9)],
[(17,6), (18,3), (17,2), (18,22), (17,21), (18,1), (18,16), (17,15), (18,12), (17,11), (18,8), (17,7), (18,4), (17,3), (18,23), (17,22), (18,19), (17,18), (18,15), (17,14), (18,11), (17,10), (18,7)],
[(19,4), (20,24), (19,23), (20,1), (20,18), (19,17), (20,14), (19,13), (20,10), (19,9), (20,6), (19,5), (20,2), (19,24), (20,21), (19,20), (20,17), (19,16), (20,13), (19,12), (20,9), (19,8), (20,5)],
[(21,2), (22,1), (22,20), (21,19), (22,16), (21,15), (22,12), (21,11), (22,8), (21,7), (22,4), (21,3), (22,23), (21,22), (22,19), (21,18), (22,15), (21,14), (22,11), (21,10), (22,7), (21,6), (22,3)],
[(24,22), (23,21), (24,18), (23,17), (24,14), (23,13), (24,10), (23,9), (24,6), (23,5), (24,2), (23,24), (24,21), (23,20), (24,17), (23,16), (24,13), (23,12), (24,9), (23,8), (24,5), (23,4), (24,1)],
]
def get_schluesselzahlen(nTeams):
schluessel = {md:[] for md in range(1,nTeams)}
for row in rahmenplan[nTeams]:
for md,(t1,t2) in enumerate(row):
schluessel[nTeams-(md+1)].append((t1,t2))
pattern = {
i: [] for i in range(1,nTeams+1)
}
opponent = {
i: [] for i in range(1,nTeams+1)
}
for md in schluessel:
for (t1,t2) in schluessel[md]:
pattern[t1].append("H")
pattern[t2].append("A")
opponent[t1].append(t2)
opponent[t2].append(t1)
return pattern, opponent