r1=[75]
r2=[95,64]
r3=[17, 47, 82]
r4=[18, 35, 87, 10]
r5=[20, 4, 82, 47, 65]
r6=[19, 1, 23, 75, 3, 34]
r7=[88, 2, 77, 73, 7, 63, 67]
r8=[99, 65, 4, 28, 6, 16, 70, 92]
r9=[41, 41, 26, 56, 83, 40, 80, 70, 33]
r10=[41, 48, 72, 33, 47, 32, 37, 16, 94, 29]
r11=[53, 71, 44, 65, 25, 43, 91, 52, 97, 51, 14]
r12=[70, 11, 33, 28, 77, 73, 17, 78, 39, 68, 17, 57]
r13=[91, 71, 52, 38, 17, 14, 91, 43, 58, 50, 27, 29, 48]
r14=[63, 66, 4, 68, 89, 53, 67, 30, 73, 16, 69, 87, 40, 31]
r15=[4, 62, 98, 27, 23, 9, 70, 98, 73, 93, 38, 53, 60, 4, 23]
kaikki=[r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15]
def seuraava(i_rivi,i_paikka,ehto):
x = kaikki[i_rivi][i_paikka]
if ehto == 0:
x = kaikki[i_rivi+1][i_paikka]
return [x,i_paikka]
if ehto == 1:
x = kaikki[i_rivi+1][i_paikka+1]
return [x,i_paikka+1]
def binary(n):
bStr = ''
if n < 0:
raise ValueError
if n == 0:
return '0'
while n > 0:
bStr = str(n % 2) + bStr
n = n >> 1
return bStr
binx=[]
for x in xrange(16384):
bin_x = binary(x)
while not len(bin_x) == 14:
bin_x = "0"+bin_x
binx.append(bin_x)
summat=[]
for bin in binx:
summa = 75
r = 0
p = 0
x = 0
while True:
if r == 14:
break
ehto = bin[x]
summa+=seuraava(r,p,ehto)[0]
p = seuraava(r,p,ehto)[1]
r+=1
x+=1
summat.append(summa)
print max(summat)
cjE9Wzc1XQpyMj1bOTUsNjRdCnIzPVsxNywgNDcsIDgyXQpyND1bMTgsIDM1LCA4NywgMTBdCnI1PVsyMCwgNCwgODIsIDQ3LCA2NV0KcjY9WzE5LCAxLCAyMywgNzUsIDMsIDM0XQpyNz1bODgsIDIsIDc3LCA3MywgNywgNjMsIDY3XQpyOD1bOTksIDY1LCA0LCAyOCwgNiwgMTYsIDcwLCA5Ml0Kcjk9WzQxLCA0MSwgMjYsIDU2LCA4MywgNDAsIDgwLCA3MCwgMzNdCnIxMD1bNDEsIDQ4LCA3MiwgMzMsIDQ3LCAzMiwgMzcsIDE2LCA5NCwgMjldCnIxMT1bNTMsIDcxLCA0NCwgNjUsIDI1LCA0MywgOTEsIDUyLCA5NywgNTEsIDE0XQpyMTI9WzcwLCAxMSwgMzMsIDI4LCA3NywgNzMsIDE3LCA3OCwgMzksIDY4LCAxNywgNTddCnIxMz1bOTEsIDcxLCA1MiwgMzgsIDE3LCAxNCwgOTEsIDQzLCA1OCwgNTAsIDI3LCAyOSwgNDhdCnIxND1bNjMsIDY2LCA0LCA2OCwgODksIDUzLCA2NywgMzAsIDczLCAxNiwgNjksIDg3LCA0MCwgMzFdCnIxNT1bNCwgNjIsIDk4LCAyNywgMjMsIDksIDcwLCA5OCwgNzMsIDkzLCAzOCwgNTMsIDYwLCA0LCAyM10KCmthaWtraT1bcjEscjIscjMscjQscjUscjYscjcscjgscjkscjEwLHIxMSxyMTIscjEzLHIxNCxyMTVdCgpkZWYgc2V1cmFhdmEoaV9yaXZpLGlfcGFpa2thLGVodG8pOgoJeCA9IGthaWtraVtpX3JpdmldW2lfcGFpa2thXQoJaWYgZWh0byA9PSAwOgoJCXggPSBrYWlra2lbaV9yaXZpKzFdW2lfcGFpa2thXQoJCXJldHVybiBbeCxpX3BhaWtrYV0KCWlmIGVodG8gPT0gMToKCQl4ID0ga2Fpa2tpW2lfcml2aSsxXVtpX3BhaWtrYSsxXQoJCXJldHVybiBbeCxpX3BhaWtrYSsxXQoKZGVmIGJpbmFyeShuKTogCgliU3RyID0gJycgICAgCglpZiBuIDwgMDogIAoJCXJhaXNlIFZhbHVlRXJyb3IgICAKCWlmIG4gPT0gMDogCgkJcmV0dXJuICcwJwoJd2hpbGUgbiA+IDA6ICAgICAgICAKCQliU3RyID0gc3RyKG4gJSAyKSArIGJTdHIgICAgICAgIAoJCW4gPSBuID4+IDEgICAgCglyZXR1cm4gYlN0cgoKYmlueD1bXQpmb3IgeCBpbiB4cmFuZ2UoMTYzODQpOgoJYmluX3ggPSBiaW5hcnkoeCkKCXdoaWxlIG5vdCBsZW4oYmluX3gpID09IDE0OgoJCWJpbl94ID0gIjAiK2Jpbl94CgliaW54LmFwcGVuZChiaW5feCkKCnN1bW1hdD1bXQkKZm9yIGJpbiBpbiBiaW54OgoJc3VtbWEgPSA3NQkKCXIgPSAwCglwID0gMAoJeCA9IDAKCXdoaWxlIFRydWU6CgkJaWYgciA9PSAxNDoKCQkJYnJlYWsKCQllaHRvID0gYmluW3hdCgkJc3VtbWErPXNldXJhYXZhKHIscCxlaHRvKVswXQoJCXAgPSBzZXVyYWF2YShyLHAsZWh0bylbMV0KCQlyKz0xCgkJeCs9MQkKCXN1bW1hdC5hcHBlbmQoc3VtbWEpCgpwcmludCBtYXgoc3VtbWF0KQ==