Celtics season tickets
A buddy of mine and I are splitting season tickets for the re-vamped Boston Celtics in 2007-2008. What’s the best way to equitably split the games?
I turn to Ruby…
Number of 2’s ~ 10
Number of 1’s ~ 12
Shared game ~ Friday, November 02 ~ Washington Wizards (3)
Set 1 ~
Wednesday, November 07 ~ Denver Nuggets (3)
Friday, November 09 ~ Atlanta Hawks (1)
Wednesday, November 14 ~ New Jersey Nets (2)
Wednesday, November 21 ~ Golden State Warriors (3)
Sunday, December 02 ~ Cleveland Cavaliers (3)
Wednesday, December 12 ~ Sacremento Kings (2)
Friday, December 14 ~ Milwaukee Bucks (1)
Friday, December 21 ~ Chicago Bulls (3)
Wednesday, January 09 ~ Charlotte Bobcats (1)
Monday, January 14 ~ Washington Wizards (2)
Wednesday, January 16 ~ Portland Trailblazers (3)
Friday, January 25 ~ Minnesota Timberwolves (2)
Sunday, February 10 ~ San Antonio Spurs (3)
Wednesday, February 13 ~ New York Knicks (1)
Sunday, March 02 ~ Atlanta Hawks (1)
Wednesday, March 05 ~ Detroit Pistons (3)
Wednesday, March 12 ~ Seattle Supersonics (3)
Friday, March 14 ~ Utah Jazz (2)
Sunday, March 30 ~ Miami Heat (3)
Wednesday, April 02 ~ Indiana Pacers (1)
Set 2 ~
Friday, November 16 ~ Miami Heat (3)
Friday, November 23 ~ Los Angeles Lakers (3)
Thursday, November 29 ~ New York Knicks (1)
Friday, December 07 ~ Toronto Raptors (2)
Wednesday, December 19 ~ Detroit Pistons (3)
Sunday, December 23 ~ Orlando Magic (2)
Wednesday, January 02 ~ Houston Rockets (3)
Friday, January 04 ~ Memphis Grizzlies (1)
Friday, January 18 ~ Philadelphia 76ers (1)
Wednesday, January 23 ~ Toronto Raptors (2)
Thursday, January 31 ~ Dallas Mavericks (3)
Wednesday, February 06 ~ Los Angeles Clippers (2)
Wednesday, February 27 ~ Cleveland Cavaliers (3)
Friday, February 29 ~ Charlotte Bobcats (1)
Friday, March 07 ~ Chicago Bulls (3)
Monday, March 24 ~ Philadelphia 76ers (1)
Wednesday, March 26 ~ Phoenix Suns (3)
Friday, March 28 ~ New Orleans Hornets (2)
Friday, April 11 ~ Milwaukee Bucks (1)
Wednesday, April 16 ~ New Jersey Nets (3)
We’ll have to trade a Philly game for an Atlanta game, but overall, pretty good for an hour’s work while watching South Park and The Daily Show…
require 'date'
require 'time'
class Ticket
def initialize(date, opponent, quality)
@date = date
@opponent = opponent
@quality = quality
end
attr_accessor :date, :opponent, :quality
def to_s
@date.strftime("%A, %B %d") + " ~ " + @opponent + " (#{@quality})"
end
end
celtics_home_games = []
set_one = []
set_two = []
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 2), "Washington Wizards", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 7), "Denver Nuggets", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 9), "Atlanta Hawks", 1)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 14), "New Jersey Nets", 2)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 16), "Miami Heat", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 21), "Golden State Warriors", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 23), "Los Angeles Lakers", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 11, 29), "New York Knicks", 1)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 2), "Cleveland Cavaliers", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 7), "Toronto Raptors", 2)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 12), "Sacremento Kings", 2)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 14), "Milwaukee Bucks", 1)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 19), "Detroit Pistons", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 21), "Chicago Bulls", 3)
celtics_home_games << Ticket.new(DateTime.new(2007, 12, 23), "Orlando Magic", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 2), "Houston Rockets", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 4), "Memphis Grizzlies", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 9), "Charlotte Bobcats", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 14), "Washington Wizards", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 16), "Portland Trailblazers", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 18), "Philadelphia 76ers", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 23), "Toronto Raptors", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 25), "Minnesota Timberwolves", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 1, 31), "Dallas Mavericks", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 2, 6), "Los Angeles Clippers", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 2, 10), "San Antonio Spurs", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 2, 13), "New York Knicks", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 2, 27), "Cleveland Cavaliers", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 2, 29), "Charlotte Bobcats", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 2), "Atlanta Hawks", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 5), "Detroit Pistons", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 7), "Chicago Bulls", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 12), "Seattle Supersonics", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 14), "Utah Jazz", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 24), "Philadelphia 76ers", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 26), "Phoenix Suns", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 28), "New Orleans Hornets", 2)
celtics_home_games << Ticket.new(DateTime.new(2008, 3, 30), "Miami Heat", 3)
celtics_home_games << Ticket.new(DateTime.new(2008, 4, 2), "Indiana Pacers", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 4, 11), "Milwaukee Bucks", 1)
celtics_home_games << Ticket.new(DateTime.new(2008, 4, 16), "New Jersey Nets", 3)
puts "Number of 3's ~ " + celtics_home_games.select { |g| g.quality == 3 }.size.to_s
puts "Number of 2's ~ " + celtics_home_games.select { |g| g.quality == 2 }.size.to_s
puts "Number of 1's ~ " + celtics_home_games.select { |g| g.quality == 1 }.size.to_s
opening_night = celtics_home_games[0]
(celtics_home_games - [opening_night]).sort_by { |g| [g.quality, g.date] }.each_with_index do |game, index|
if index % 2 == 0
set_one << game
else
set_two << game
end
end
puts "\nShared game ~ " + opening_night.to_s
puts "\nSet 1 ~"
set_one.sort_by { |g| g.date }.each { |g| puts g }
puts "\nSet 2 ~"
set_two.sort_by { |g| g.date }.each { |g| puts g }
And the results:
Number of 3’s ~ 19Number of 2’s ~ 10
Number of 1’s ~ 12
Shared game ~ Friday, November 02 ~ Washington Wizards (3)
Set 1 ~
Wednesday, November 07 ~ Denver Nuggets (3)
Friday, November 09 ~ Atlanta Hawks (1)
Wednesday, November 14 ~ New Jersey Nets (2)
Wednesday, November 21 ~ Golden State Warriors (3)
Sunday, December 02 ~ Cleveland Cavaliers (3)
Wednesday, December 12 ~ Sacremento Kings (2)
Friday, December 14 ~ Milwaukee Bucks (1)
Friday, December 21 ~ Chicago Bulls (3)
Wednesday, January 09 ~ Charlotte Bobcats (1)
Monday, January 14 ~ Washington Wizards (2)
Wednesday, January 16 ~ Portland Trailblazers (3)
Friday, January 25 ~ Minnesota Timberwolves (2)
Sunday, February 10 ~ San Antonio Spurs (3)
Wednesday, February 13 ~ New York Knicks (1)
Sunday, March 02 ~ Atlanta Hawks (1)
Wednesday, March 05 ~ Detroit Pistons (3)
Wednesday, March 12 ~ Seattle Supersonics (3)
Friday, March 14 ~ Utah Jazz (2)
Sunday, March 30 ~ Miami Heat (3)
Wednesday, April 02 ~ Indiana Pacers (1)
Set 2 ~
Friday, November 16 ~ Miami Heat (3)
Friday, November 23 ~ Los Angeles Lakers (3)
Thursday, November 29 ~ New York Knicks (1)
Friday, December 07 ~ Toronto Raptors (2)
Wednesday, December 19 ~ Detroit Pistons (3)
Sunday, December 23 ~ Orlando Magic (2)
Wednesday, January 02 ~ Houston Rockets (3)
Friday, January 04 ~ Memphis Grizzlies (1)
Friday, January 18 ~ Philadelphia 76ers (1)
Wednesday, January 23 ~ Toronto Raptors (2)
Thursday, January 31 ~ Dallas Mavericks (3)
Wednesday, February 06 ~ Los Angeles Clippers (2)
Wednesday, February 27 ~ Cleveland Cavaliers (3)
Friday, February 29 ~ Charlotte Bobcats (1)
Friday, March 07 ~ Chicago Bulls (3)
Monday, March 24 ~ Philadelphia 76ers (1)
Wednesday, March 26 ~ Phoenix Suns (3)
Friday, March 28 ~ New Orleans Hornets (2)
Friday, April 11 ~ Milwaukee Bucks (1)
Wednesday, April 16 ~ New Jersey Nets (3)
We’ll have to trade a Philly game for an Atlanta game, but overall, pretty good for an hour’s work while watching South Park and The Daily Show…