All pastes #213972 Raw Edit

Untitled

public text v1 · immutable
#213972 ·published 2006-10-21 19:13 UTC
rendered paste body
#!/usr/bin/env python
current = 0
top = 0
three = 1
four = 1
five = 1
six = 1
seven = 1
eight = 1
count=0
num = [8, 7, 6, 5, 4, 3, 2, 1]
names=['Kaitlin', 'Justin', 'Jason', 'Lauren', 'Stefen', 'Becky', 'Sara', 'Leo']
people = {

	'Kaitlin': {
		'love': ('Jason'),
		'friend': ('Justin, Lauren')
	},

	'Justin': {
		'friend': ('Jason', 'Kaitlin', 'Leo')
	},

	'Jason': {
		'love': ('Kaitlin'),
		'friend': ('Lauren', 'Sara', 'Leo', 'Justin')
#		'hate': ('Becky')
	},

	'Lauren': {
		'love': ('Stefen'),
		'friend': ('Becky', 'Sara', 'Leo'),
		'hate': ('Kaitlin')
	},

	'Stefen': {
		'love': ('Lauren'),
		'friend': ('Sara','Leo')
	},

	'Becky': {
		'friend': ('Sara', 'Lauren'),
		'crush': ('Justin')
	},

	'Sara': {
		'love': ('Leo'),
		'friend': ('Becky', 'Lauren', 'Stefen')
	},

	'Leo': {
		'love': ('Sara'),
		'friend': ('Jason', 'Lauren', 'Stefen', 'Justin'),
		'crush': ('Kaitlin')
	}
}

def score(seat):
	value=0
	#check right side
	if seat != 8:
		if names[num[seat-1]-1] in people[names[num[seat]-1]].get('love', 'No'):
			value += 3
		if names[num[seat-1]-1] in people[names[num[seat]-1]].get('friend', 'No'):
			value += 2
		if names[num[seat-1]-1] in people[names[num[seat]-1]].get('crush', 'No'):
			value += 1
		if names[num[seat-1]-1] in people[names[num[seat]-1]].get('hate', 'No'):
			value += -2
	#check left side
	if seat != 0:
		if names[num[seat-1]-1] in people[names[num[seat-2]-1]].get('love', 'No'):
			value += 3
		if names[num[seat-1]-1] in people[names[num[seat-2]-1]].get('friend', 'No'):
			value += 2
		if names[num[seat-1]-1] in people[names[num[seat-2]-1]].get('crush', 'No'):
			value += 1
		if names[num[seat-1]-1] in people[names[num[seat-2]-1]].get('hate', 'No'):
			value += -2
	return value


while True:
	current=0
	for i in range(1, 9):
		current += score(i)
	if current > top:
		top = current
		best = num[:]
		print top
		print best
	count += 1
	if count >= 40320:
		break

##wow this took too much effort and yes I know resetting variables like that is sloppy
	if eight == 5040:
		tmp = num[-8:]
		tmp.reverse()
		num[-8:] = tmp
		eight = 1
		seven = 1
		six = 1
		five = 1
		four = 1
		three = 1
	else:
		eight += 1
		if seven == 720:
			tmp = num[-7:]
			tmp.reverse()
			num[-7:] = tmp
			seven = 1
			six = 1
			five = 1
			four = 1
			three = 1
		else:
			seven += 1
			if six == 120:
				tmp = num[-6:]
				tmp.reverse()
				num[-6:] = tmp
				six = 1
				five = 1
				four = 1
				three = 1
			else:
				six += 1
				if five == 24:
					tmp = num[-5:]
					tmp.reverse()
					num[-5:] = tmp
					five = 1
					four = 1
					three = 1
				else:
					five += 1
					if four == 6:
						tmp = num[-4:]
						tmp.reverse()
						num[-4:] = tmp
						four = 1
						three = 1
					else:
						four += 1			
						if three == 2:
							tmp = num[-3:]
							tmp.reverse()
							num[-3:] = tmp
							three = 1
						else:
							three += 1
							tmp = num[-2:]
							tmp.reverse()
							num[-2:] = tmp