This program has been disqualified.
Author | &&& |
Submission date | 2011-06-20 19:50:00.902344 |
Rating | 6471 |
Matches played | 4 |
Win rate | 75.0 |
import random
#Weighted random beat previous inputs
KEY=0.940
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)]