Last active
April 22, 2019 17:22
-
-
Save agriffis/777ca9c125e6e821b5b5b6cb4f32093f to your computer and use it in GitHub Desktop.
RIPUL 2019 scheduling
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
from collections import defaultdict, namedtuple | |
import functools | |
from pprint import pformat, pprint | |
import sys | |
Y = 2019 | |
N = 16 | |
teams = list(range(N)) | |
fields = """ | |
LINCOLN Meadow | |
LINCOLN Tree | |
LINCOLN Turf | |
COLE Fence | |
COLE Berm | |
COLE Road | |
COLE Middle | |
COLE Tree | |
""".strip().split("\n") | |
dates = f""" | |
{Y}-05-27 | |
{Y}-05-29 | |
{Y}-06-03 | |
{Y}-06-05 | |
{Y}-06-10 | |
{Y}-06-12 | |
{Y}-06-17 | |
{Y}-06-19 | |
{Y}-06-24 | |
{Y}-06-26 | |
{Y}-07-01 | |
{Y}-07-03 | |
{Y}-07-08 | |
{Y}-07-10 | |
{Y}-07-15 | |
{Y}-07-17 | |
{Y}-07-22 | |
{Y}-07-24 | |
{Y}-07-29 | |
{Y}-07-31 | |
{Y}-08-05 | |
{Y}-08-07 | |
""".strip().split("\n") | |
# | |
# 1. MAKE THE SCHEDULE | |
# | |
def rotate(a, n=1): | |
n = n % len(a) | |
return a[-n:] + a[:-n] | |
def rotate_around(a, i, n=1): | |
around = a[i] | |
a = rotate(a[:i] + a[i + 1:], n) | |
a.insert(i, around) | |
return a | |
Match = namedtuple('Match', ['date', 'home', 'away', 'field']) | |
matches = [] | |
# https://en.m.wikipedia.org/wiki/Round-robin_tournament#Scheduling_algorithm | |
for game, date in enumerate(dates): | |
circle = rotate_around(teams, 0, game) | |
home, away = circle[:N // 2], reversed(circle[N // 2:]) | |
# Swap home/away each time, otherwise team 0 will always be home. | |
if game % 2: | |
home, away = away, home | |
matches.extend(Match(*m) for m in zip( | |
[date] * N, | |
home, | |
away, | |
# Since teams are rotating around the first team, rotate fields | |
# around the last field, otherwise the first team will always be on | |
# the first field. | |
rotate_around( | |
fields, | |
len(fields) - 1, | |
int(game * (2 + 1 / len(fields))), | |
), | |
)) | |
# | |
# 2. ASSERTIONS | |
# | |
team_matches = {t: [m for m in matches if t in m] for t in teams} | |
team_opponents = {t: [m.home if m.away == t else m.away for m in team_matches[t]] | |
for t in teams} | |
# 2.1. Assert no team plays itself | |
assert all(t != o for t in teams for o in team_opponents[t]) | |
# 2.2. Assert the first round is a proper round-robin | |
opponents_first_round = {t: set(team_opponents[t][:len(teams) - 1]) | |
for t in teams} | |
assert opponents_first_round == {t: {o for o in teams if o != t} | |
for t in teams} | |
# 2.3. Assert the second round is unique teams | |
opponents_second_round = {t: set(team_opponents[t][len(teams) - 1:]) | |
for t in teams} | |
assert all(len(opps) == len(dates) - len(teams) + 1 | |
for opps in opponents_second_round.values()) | |
# | |
# 3. DEBUG if "debug" on command-line | |
# | |
if len(sys.argv) > 1 and sys.argv[1] == 'debug': | |
games_at_field = {t: {f: sum(m.field == f for m in team_matches[t]) | |
for f in fields} | |
for t in teams} | |
def loc(f): | |
return f.split()[0] | |
games_at_location = {t: {l: sum(loc(m.field) == l for m in team_matches[t]) | |
for l in set(loc(f) for f in fields)} | |
for t in teams} | |
pprint(games_at_field) | |
pprint(games_at_location) | |
for m in matches: | |
print(f'{m.home} {m.away} {m.field}') | |
sys.exit(0) | |
# | |
# 4. SQL output | |
# | |
print(f"DELETE FROM games WHERE YEAR(date) = {Y};") | |
for m in matches: | |
print("INSERT INTO games (date, team1, team2, location) VALUES ('{}', {}, {}, '{}');" | |
.format(*m)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DELETE FROM games WHERE YEAR(date) = 2019; | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 0, 15, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 1, 14, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 2, 13, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 3, 12, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 4, 11, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 5, 10, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 6, 9, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-27', 7, 8, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 14, 0, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 13, 15, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 12, 1, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 11, 2, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 10, 3, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 9, 4, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 8, 5, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-05-29', 7, 6, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 0, 13, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 14, 12, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 15, 11, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 1, 10, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 2, 9, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 3, 8, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 4, 7, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-03', 5, 6, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 12, 0, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 11, 13, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 10, 14, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 9, 15, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 8, 1, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 7, 2, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 6, 3, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-05', 5, 4, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 0, 11, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 12, 10, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 13, 9, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 14, 8, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 15, 7, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 1, 6, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 2, 5, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-10', 3, 4, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 10, 0, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 9, 11, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 8, 12, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 7, 13, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 6, 14, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 5, 15, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 4, 1, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-12', 3, 2, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 0, 9, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 10, 8, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 11, 7, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 12, 6, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 13, 5, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 14, 4, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 15, 3, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-17', 1, 2, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 8, 0, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 7, 9, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 6, 10, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 5, 11, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 4, 12, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 3, 13, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 2, 14, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-19', 1, 15, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 0, 7, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 8, 6, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 9, 5, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 10, 4, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 11, 3, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 12, 2, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 13, 1, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-24', 14, 15, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 6, 0, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 5, 7, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 4, 8, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 3, 9, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 2, 10, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 1, 11, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 15, 12, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-06-26', 14, 13, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 0, 5, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 6, 4, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 7, 3, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 8, 2, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 9, 1, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 10, 15, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 11, 14, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-01', 12, 13, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 4, 0, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 3, 5, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 2, 6, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 1, 7, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 15, 8, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 14, 9, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 13, 10, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-03', 12, 11, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 0, 3, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 4, 2, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 5, 1, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 6, 15, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 7, 14, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 8, 13, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 9, 12, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-08', 10, 11, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 2, 0, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 1, 3, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 15, 4, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 14, 5, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 13, 6, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 12, 7, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 11, 8, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-10', 10, 9, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 0, 1, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 2, 15, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 3, 14, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 4, 13, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 5, 12, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 6, 11, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 7, 10, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-15', 8, 9, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 15, 0, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 14, 1, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 13, 2, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 12, 3, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 11, 4, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 10, 5, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 9, 6, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-17', 8, 7, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 0, 14, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 15, 13, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 1, 12, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 2, 11, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 3, 10, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 4, 9, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 5, 8, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-22', 6, 7, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 13, 0, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 12, 14, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 11, 15, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 10, 1, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 9, 2, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 8, 3, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 7, 4, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-24', 6, 5, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 0, 12, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 13, 11, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 14, 10, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 15, 9, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 1, 8, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 2, 7, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 3, 6, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-29', 4, 5, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 11, 0, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 10, 12, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 9, 13, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 8, 14, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 7, 15, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 6, 1, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 5, 2, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-07-31', 4, 3, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 0, 10, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 11, 9, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 12, 8, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 13, 7, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 14, 6, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 15, 5, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 1, 4, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-05', 2, 3, 'COLE Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 9, 0, 'COLE Road'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 8, 10, 'COLE Middle'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 7, 11, 'LINCOLN Meadow'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 6, 12, 'LINCOLN Tree'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 5, 13, 'LINCOLN Turf'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 4, 14, 'COLE Fence'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 3, 15, 'COLE Berm'); | |
INSERT INTO games (date, team1, team2, location) VALUES ('2019-08-07', 2, 1, 'COLE Tree'); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{0: {'COLE Berm': 4, | |
'COLE Fence': 2, | |
'COLE Middle': 3, | |
'COLE Road': 3, | |
'COLE Tree': 0, | |
'LINCOLN Meadow': 4, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 3}, | |
1: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 3, | |
'COLE Road': 3, | |
'COLE Tree': 3, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 2}, | |
2: {'COLE Berm': 2, | |
'COLE Fence': 2, | |
'COLE Middle': 4, | |
'COLE Road': 1, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 3}, | |
3: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 1, | |
'COLE Road': 3, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 2, | |
'LINCOLN Tree': 4, | |
'LINCOLN Turf': 3}, | |
4: {'COLE Berm': 4, | |
'COLE Fence': 4, | |
'COLE Middle': 2, | |
'COLE Road': 2, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 2, | |
'LINCOLN Tree': 2, | |
'LINCOLN Turf': 2}, | |
5: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 3, | |
'COLE Road': 4, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 2, | |
'LINCOLN Tree': 1, | |
'LINCOLN Turf': 3}, | |
6: {'COLE Berm': 3, | |
'COLE Fence': 2, | |
'COLE Middle': 2, | |
'COLE Road': 3, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 2}, | |
7: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 3, | |
'COLE Road': 2, | |
'COLE Tree': 4, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 2, | |
'LINCOLN Turf': 3}, | |
8: {'COLE Berm': 3, | |
'COLE Fence': 2, | |
'COLE Middle': 2, | |
'COLE Road': 3, | |
'COLE Tree': 3, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 3}, | |
9: {'COLE Berm': 3, | |
'COLE Fence': 4, | |
'COLE Middle': 3, | |
'COLE Road': 3, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 2, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 2}, | |
10: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 4, | |
'COLE Road': 4, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 0, | |
'LINCOLN Turf': 4}, | |
11: {'COLE Berm': 4, | |
'COLE Fence': 1, | |
'COLE Middle': 2, | |
'COLE Road': 3, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 5, | |
'LINCOLN Turf': 2}, | |
12: {'COLE Berm': 3, | |
'COLE Fence': 4, | |
'COLE Middle': 2, | |
'COLE Road': 1, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 4, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 3}, | |
13: {'COLE Berm': 2, | |
'COLE Fence': 3, | |
'COLE Middle': 4, | |
'COLE Road': 3, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 1, | |
'LINCOLN Tree': 2, | |
'LINCOLN Turf': 5}, | |
14: {'COLE Berm': 3, | |
'COLE Fence': 3, | |
'COLE Middle': 3, | |
'COLE Road': 3, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 4, | |
'LINCOLN Turf': 1}, | |
15: {'COLE Berm': 3, | |
'COLE Fence': 2, | |
'COLE Middle': 3, | |
'COLE Road': 3, | |
'COLE Tree': 2, | |
'LINCOLN Meadow': 3, | |
'LINCOLN Tree': 3, | |
'LINCOLN Turf': 3}} | |
{0: {'COLE': 12, 'LINCOLN': 10}, | |
1: {'COLE': 14, 'LINCOLN': 8}, | |
2: {'COLE': 13, 'LINCOLN': 9}, | |
3: {'COLE': 13, 'LINCOLN': 9}, | |
4: {'COLE': 16, 'LINCOLN': 6}, | |
5: {'COLE': 16, 'LINCOLN': 6}, | |
6: {'COLE': 14, 'LINCOLN': 8}, | |
7: {'COLE': 14, 'LINCOLN': 8}, | |
8: {'COLE': 13, 'LINCOLN': 9}, | |
9: {'COLE': 15, 'LINCOLN': 7}, | |
10: {'COLE': 15, 'LINCOLN': 7}, | |
11: {'COLE': 12, 'LINCOLN': 10}, | |
12: {'COLE': 12, 'LINCOLN': 10}, | |
13: {'COLE': 14, 'LINCOLN': 8}, | |
14: {'COLE': 14, 'LINCOLN': 8}, | |
15: {'COLE': 13, 'LINCOLN': 9}} | |
0 15 LINCOLN Meadow | |
1 14 LINCOLN Tree | |
2 13 LINCOLN Turf | |
3 12 COLE Fence | |
4 11 COLE Berm | |
5 10 COLE Road | |
6 9 COLE Middle | |
7 8 COLE Tree | |
14 0 COLE Road | |
13 15 COLE Middle | |
12 1 LINCOLN Meadow | |
11 2 LINCOLN Tree | |
10 3 LINCOLN Turf | |
9 4 COLE Fence | |
8 5 COLE Berm | |
7 6 COLE Tree | |
0 13 COLE Fence | |
14 12 COLE Berm | |
15 11 COLE Road | |
1 10 COLE Middle | |
2 9 LINCOLN Meadow | |
3 8 LINCOLN Tree | |
4 7 LINCOLN Turf | |
5 6 COLE Tree | |
12 0 LINCOLN Tree | |
11 13 LINCOLN Turf | |
10 14 COLE Fence | |
9 15 COLE Berm | |
8 1 COLE Road | |
7 2 COLE Middle | |
6 3 LINCOLN Meadow | |
5 4 COLE Tree | |
0 11 COLE Middle | |
12 10 LINCOLN Meadow | |
13 9 LINCOLN Tree | |
14 8 LINCOLN Turf | |
15 7 COLE Fence | |
1 6 COLE Berm | |
2 5 COLE Road | |
3 4 COLE Tree | |
10 0 COLE Berm | |
9 11 COLE Road | |
8 12 COLE Middle | |
7 13 LINCOLN Meadow | |
6 14 LINCOLN Tree | |
5 15 LINCOLN Turf | |
4 1 COLE Fence | |
3 2 COLE Tree | |
0 9 LINCOLN Turf | |
10 8 COLE Fence | |
11 7 COLE Berm | |
12 6 COLE Road | |
13 5 COLE Middle | |
14 4 LINCOLN Meadow | |
15 3 LINCOLN Tree | |
1 2 COLE Tree | |
8 0 LINCOLN Meadow | |
7 9 LINCOLN Tree | |
6 10 LINCOLN Turf | |
5 11 COLE Fence | |
4 12 COLE Berm | |
3 13 COLE Road | |
2 14 COLE Middle | |
1 15 COLE Tree | |
0 7 COLE Berm | |
8 6 COLE Road | |
9 5 COLE Middle | |
10 4 LINCOLN Meadow | |
11 3 LINCOLN Tree | |
12 2 LINCOLN Turf | |
13 1 COLE Fence | |
14 15 COLE Tree | |
6 0 LINCOLN Turf | |
5 7 COLE Fence | |
4 8 COLE Berm | |
3 9 COLE Road | |
2 10 COLE Middle | |
1 11 LINCOLN Meadow | |
15 12 LINCOLN Tree | |
14 13 COLE Tree | |
0 5 LINCOLN Meadow | |
6 4 LINCOLN Tree | |
7 3 LINCOLN Turf | |
8 2 COLE Fence | |
9 1 COLE Berm | |
10 15 COLE Road | |
11 14 COLE Middle | |
12 13 COLE Tree | |
4 0 COLE Road | |
3 5 COLE Middle | |
2 6 LINCOLN Meadow | |
1 7 LINCOLN Tree | |
15 8 LINCOLN Turf | |
14 9 COLE Fence | |
13 10 COLE Berm | |
12 11 COLE Tree | |
0 3 COLE Fence | |
4 2 COLE Berm | |
5 1 COLE Road | |
6 15 COLE Middle | |
7 14 LINCOLN Meadow | |
8 13 LINCOLN Tree | |
9 12 LINCOLN Turf | |
10 11 COLE Tree | |
2 0 LINCOLN Tree | |
1 3 LINCOLN Turf | |
15 4 COLE Fence | |
14 5 COLE Berm | |
13 6 COLE Road | |
12 7 COLE Middle | |
11 8 LINCOLN Meadow | |
10 9 COLE Tree | |
0 1 COLE Middle | |
2 15 LINCOLN Meadow | |
3 14 LINCOLN Tree | |
4 13 LINCOLN Turf | |
5 12 COLE Fence | |
6 11 COLE Berm | |
7 10 COLE Road | |
8 9 COLE Tree | |
15 0 COLE Berm | |
14 1 COLE Road | |
13 2 COLE Middle | |
12 3 LINCOLN Meadow | |
11 4 LINCOLN Tree | |
10 5 LINCOLN Turf | |
9 6 COLE Fence | |
8 7 COLE Tree | |
0 14 LINCOLN Tree | |
15 13 LINCOLN Turf | |
1 12 COLE Fence | |
2 11 COLE Berm | |
3 10 COLE Road | |
4 9 COLE Middle | |
5 8 LINCOLN Meadow | |
6 7 COLE Tree | |
13 0 COLE Middle | |
12 14 LINCOLN Meadow | |
11 15 LINCOLN Tree | |
10 1 LINCOLN Turf | |
9 2 COLE Fence | |
8 3 COLE Berm | |
7 4 COLE Road | |
6 5 COLE Tree | |
0 12 COLE Berm | |
13 11 COLE Road | |
14 10 COLE Middle | |
15 9 LINCOLN Meadow | |
1 8 LINCOLN Tree | |
2 7 LINCOLN Turf | |
3 6 COLE Fence | |
4 5 COLE Tree | |
11 0 LINCOLN Turf | |
10 12 COLE Fence | |
9 13 COLE Berm | |
8 14 COLE Road | |
7 15 COLE Middle | |
6 1 LINCOLN Meadow | |
5 2 LINCOLN Tree | |
4 3 COLE Tree | |
0 10 LINCOLN Meadow | |
11 9 LINCOLN Tree | |
12 8 LINCOLN Turf | |
13 7 COLE Fence | |
14 6 COLE Berm | |
15 5 COLE Road | |
1 4 COLE Middle | |
2 3 COLE Tree | |
9 0 COLE Road | |
8 10 COLE Middle | |
7 11 LINCOLN Meadow | |
6 12 LINCOLN Tree | |
5 13 LINCOLN Turf | |
4 14 COLE Fence | |
3 15 COLE Berm | |
2 1 COLE Tree |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment