&0930

This program has been disqualified.


Author&&&
Submission date2011-06-20 19:49:55.527945
Rating7537
Matches played3
Win rate100.0

Source code:

import random
#Weighted random beat previous inputs

KEY=0.930

def weighted_choice(C, p):
    x = random.random()
    for elmt in range(len(C)):
        if x <= p[elmt]:
            return C[elmt]
        x -= p[elmt]

if not input:
	beat={'R':'P','P':'S','S':'R','':'R'}
	output=random.choice("RPS")
	history=""
	AMPERSAND_SECRET_SAUCE = "SSPPRSPSPRPRPPSRRSRPPSRSRSSSSSSPPPPSRPRSRPSPRPSPRR"
else:
	history+=input
	L=len(history)
	if AMPERSAND_SECRET_SAUCE in history:
		output = 'S'
	else:
		p = q = range(1,L+1)
		for i in range(L):
			p[i]=p[i]**(KEY)
			q[i]=q[i]**(KEY)
		q=float(sum(q))
		for i in range(L):
			p[i]/=q
		output=beat[weighted_choice(history,p)]