/P. Gopinat  Enloe

/Intermediate #4

/Python

 

 

def checkcapture(board,pos):

    capting = 0

    if board[pos[0]][pos[1]] == "B":

        #row to the right

        dircapt = 0

        col = 1

        capt = False

        while pos[1]+col<8 and capt == False:

            try:

                if board[pos[0]][pos[1]+col] == "X":

                    capt = True

                elif board[pos[0]][pos[1]+col] == "B":

                    col = 8

                elif board[pos[0]][pos[1]+col] == "O":

                    dircapt+= 1

                col += 1

            except:

                col = 8

        if capt == True:

            capting += dircapt

        #row to the left

        dircapt = 0

        col = 1

        capt = False

        while pos[1]-col>=0 and capt == False:

            try:

                if board[pos[0]][pos[1]-col] == "X":

                    capt = True

                elif board[pos[0]][pos[1]-col] == "B":

                    col = 81

                elif board[pos[0]][pos[1]-col] == "O":

                    dircapt+= 1

                col += 1

            except:

                col = 81

        if capt == True:

            capting += dircapt

        #col upwards

        dircapt = 0

        row = 1

        capt = False

        while pos[0]-row>=0 and capt == False:

            try:

                if board[pos[0]-row][pos[1]] == "X":

                    capt = True

                elif board[pos[0]-row][pos[1]] == "B":

                    row = 81

                elif board[pos[0]-row][pos[1]] == "O":

                    dircapt+= 1

                row += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

        #col downwards

        dircapt = 0

        row = 1

        capt = False

        while pos[0]+row<8 and capt == False:

            try:

                if board[pos[0]+row][pos[1]] == "X":

                    capt = True

                elif board[pos[0]+row][pos[1]] == "B":

                    row = 81

                elif board[pos[0]+row][pos[1]] == "O":

                    dircapt+= 1

                row += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

        #diag down left

        dircapt = 0

        row = 1

        col = 1

        capt = False

        while pos[0]+row<8 and pos[1]-col>= 0 and capt == False:

            try:

                if board[pos[0]+row][pos[1]-col] == "X":

                    capt = True

                elif board[pos[0]+row][pos[1]-col] == "B":

                    row = 81

                elif board[pos[0]+row][pos[1]-col] == "O":

                    dircapt+= 1

                row += 1

                col += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

        #diag down right

        dircapt = 0

        row = 1

        col = 1

        capt = False

        while pos[0]+row<8 and pos[1]+col< 8 and capt == False:

            try:

                if board[pos[0]+row][pos[1]+col] == "X":

                    capt = True

                elif board[pos[0]+row][pos[1]+col] == "B":

                    row = 81

                elif board[pos[0]+row][pos[1]+col] == "O":

                    dircapt+= 1

                row += 1

                col += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

 

        #diag up left

        dircapt = 0

        row = 1

        col = 1

        capt = False

        while pos[0]-row>=0 and pos[1]-col>= 0 and capt == False:

            try:

                if board[pos[0]-row][pos[1]-col] == "X":

                    capt = True

                elif board[pos[0]-row][pos[1]-col] == "B":

                    row = 81

                elif board[pos[0]-row][pos[1]-col] == "O":

                    dircapt+= 1

                row += 1

                col += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

 

        #diag up right

        dircapt = 0

        row = 1

        col = 1

        capt = False

        while pos[0]-row>=0 and pos[1]+col<8 and capt == False:

            try:

                if board[pos[0]-row][pos[1]+col] == "X":

                    capt = True

                elif board[pos[0]-row][pos[1]+col] == "B":

                    row = 81

                elif board[pos[0]-row][pos[1]+col] == "O":

                    dircapt+= 1

                row += 1

                col += 1

            except:

                row = 81

        if capt == True:

            capting += dircapt

 

##        chkr = pos[0]

##        chkc = pos[1]

##        ptstr = "None"

##        if chkr == 0:

##            ptstr = "8"+str(chr(chkc+65))

##        if chkr == 1:

##            ptstr = "7"+str(chr(chkc+65))

##        if chkr == 2:

##            ptstr = "6"+str(chr(chkc+65))

##        if chkr == 3:

##            ptstr = "5"+str(chr(chkc+65))

##        if chkr == 4:

##            ptstr = "4"+str(chr(chkc+65))

##        if chkr == 5:

##            ptstr = "3"+str(chr(chkc+65))

##        if chkr == 6:

##            ptstr = "2"+str(chr(chkc+65))

##        if chkr == 7:

##            ptstr = "1"+str(chr(chkc+65))

##        if ptstr == "None":

##            print str(pos[0]) + "   " + str(pos[1])

##        else:

##            print ptstr

##        print capting

    return capting

 

for i in range(5):

    board = []

    for i in range(8):

        board.append(["B","B","B","B","B","B","B","B"])

    xs = int(raw_input("Num X: "))

    for i in range(xs):

        pt = raw_input("Pt: ")

        row = int(pt[0])

        if row == 1:

            row = 8

        elif row == 2:

            row = 7

        elif row == 3:

            row = 6

        elif row == 4:

            row = 5

        elif row == 5:

            row = 4

        elif row == 6:

            row = 3

        elif row == 7:

            row = 2

        elif row == 8:

            row = 1

        board[row-1][ord(pt[1])-65]="X"

    ohs = int(raw_input("Num O: "))

    ohguys = []

    for i in range(ohs):

        pt = raw_input("Pt: ")

        row = int(pt[0])

        if row == 1:

            row = 8

        elif row == 2:

            row = 7

        elif row == 3:

            row = 6

        elif row == 4:

            row = 5

        elif row == 5:

            row = 4

        elif row == 6:

            row = 3

        elif row == 7:

            row = 2

        elif row == 8:

            row = 1

        board[row-1][ord(pt[1])-65]="O"

        ohguys.append([row-1,ord(pt[1])-65])

##    for i in range(8):

##        lin = ""

##        for j in range(8):

##            lin += board[i][j]

##        print lin

    maxpts = []

    maxcap = 0

    for post in ohguys:

        #top side

        if post[0]-1 >= 0:

            chkr = post[0]-1

            chkc = post[1]

            ptc = [chkr,chkc]

            numcapt = checkcapture(board,ptc)

            if chkr == 0:

                ptstr = "8"+str(chr(chkc+65))

            if chkr == 1:

                ptstr = "7"+str(chr(chkc+65))

            if chkr == 2:

                ptstr = "6"+str(chr(chkc+65))

            if chkr == 3:

                ptstr = "5"+str(chr(chkc+65))

            if chkr == 4:

                ptstr = "4"+str(chr(chkc+65))

            if chkr == 5:

                ptstr = "3"+str(chr(chkc+65))

            if chkr == 6:

                ptstr = "2"+str(chr(chkc+65))

            if chkr == 7:

                ptstr = "1"+str(chr(chkc+65))

            if numcapt > maxcap:

                maxcap = numcapt

                maxpts = []

                maxpts.append(ptstr)

            elif numcapt == maxcap and maxpts.count(ptstr)==0:

                maxpts.append(ptstr)

            if post[1]-1>= 0:

                chkr = post[0]-1

                chkc = post[1]-1

                ptc = [chkr,chkc]

                numcapt = checkcapture(board,ptc)

                if chkr == 0:

                    ptstr = "8"+str(chr(chkc+65))

                if chkr == 1:

                    ptstr = "7"+str(chr(chkc+65))

                if chkr == 2:

                    ptstr = "6"+str(chr(chkc+65))

                if chkr == 3:

                    ptstr = "5"+str(chr(chkc+65))

                if chkr == 4:

                    ptstr = "4"+str(chr(chkc+65))

                if chkr == 5:

                    ptstr = "3"+str(chr(chkc+65))

                if chkr == 6:

                    ptstr = "2"+str(chr(chkc+65))

                if chkr == 7:

                    ptstr = "1"+str(chr(chkc+65))

                if numcapt > maxcap:

                    maxcap = numcapt

                    maxpts = []

                    maxpts.append(ptstr)

                elif numcapt == maxcap and maxpts.count(ptstr)==0:

                    maxpts.append(ptstr)

            if post[1]+1<8:

                chkr = post[0]-1

                chkc = post[1]+1

                ptc = [chkr,chkc]

                numcapt = checkcapture(board,ptc)

                if chkr == 0:

                    ptstr = "8"+str(chr(chkc+65))

                if chkr == 1:

                    ptstr = "7"+str(chr(chkc+65))

                if chkr == 2:

                    ptstr = "6"+str(chr(chkc+65))

                if chkr == 3:

                    ptstr = "5"+str(chr(chkc+65))

                if chkr == 4:

                    ptstr = "4"+str(chr(chkc+65))

                if chkr == 5:

                    ptstr = "3"+str(chr(chkc+65))

                if chkr == 6:

                    ptstr = "2"+str(chr(chkc+65))

                if chkr == 7:

                    ptstr = "1"+str(chr(chkc+65))

                if numcapt > maxcap:

                    maxcap = numcapt

                    maxpts = []              

                    maxpts.append(ptstr)

                elif numcapt == maxcap and maxpts.count(ptstr)==0:

                    maxpts.append(ptstr)

        #bottom side

        if post[0]+1 < 8:

            chkr = post[0]+1

            chkc = post[1]

            ptc = [chkr,chkc]

            numcapt = checkcapture(board,ptc)

            if chkr == 0:

                ptstr = "8"+str(chr(chkc+65))

            if chkr == 1:

                ptstr = "7"+str(chr(chkc+65))

            if chkr == 2:

                ptstr = "6"+str(chr(chkc+65))

            if chkr == 3:

                ptstr = "5"+str(chr(chkc+65))

            if chkr == 4:

                ptstr = "4"+str(chr(chkc+65))

            if chkr == 5:

                ptstr = "3"+str(chr(chkc+65))

            if chkr == 6:

                ptstr = "2"+str(chr(chkc+65))

            if chkr == 7:

                ptstr = "1"+str(chr(chkc+65))

            if numcapt > maxcap:

                maxcap = numcapt

                maxpts = []              

                maxpts.append(ptstr)

            elif numcapt == maxcap and maxpts.count(ptstr)==0:

                maxpts.append(ptstr)

            if post[1]-1>= 0:

                chkr = post[0]+1

                chkc = post[1]-1

                ptc = [chkr,chkc]

                numcapt = checkcapture(board,ptc)

                if chkr == 0:

                    ptstr = "8"+str(chr(chkc+65))

                if chkr == 1:

                    ptstr = "7"+str(chr(chkc+65))

                if chkr == 2:

                    ptstr = "6"+str(chr(chkc+65))

                if chkr == 3:

                    ptstr = "5"+str(chr(chkc+65))

                if chkr == 4:

                    ptstr = "4"+str(chr(chkc+65))

                if chkr == 5:

                    ptstr = "3"+str(chr(chkc+65))

                if chkr == 6:

                    ptstr = "2"+str(chr(chkc+65))

                if chkr == 7:

                    ptstr = "1"+str(chr(chkc+65))

                if numcapt > maxcap:

                    maxcap = numcapt

                    maxpts = []              

                    maxpts.append(ptstr)

                elif numcapt == maxcap and maxpts.count(ptstr)==0:

                    maxpts.append(ptstr)

            if post[1]+1<8:

                chkr = post[0]+1

                chkc = post[1]+1

                ptc = [chkr,chkc]

                numcapt = checkcapture(board,ptc)

                if chkr == 0:

                    ptstr = "8"+str(chr(chkc+65))

                if chkr == 1:

                    ptstr = "7"+str(chr(chkc+65))

                if chkr == 2:

                    ptstr = "6"+str(chr(chkc+65))

                if chkr == 3:

                    ptstr = "5"+str(chr(chkc+65))

                if chkr == 4:

                    ptstr = "4"+str(chr(chkc+65))

                if chkr == 5:

                    ptstr = "3"+str(chr(chkc+65))

                if chkr == 6:

                    ptstr = "2"+str(chr(chkc+65))

                if chkr == 7:

                    ptstr = "1"+str(chr(chkc+65))

                if numcapt > maxcap:

                    maxcap = numcapt

                    maxpts = []              

                    maxpts.append(ptstr)

                elif numcapt == maxcap and maxpts.count(ptstr)==0:

                    maxpts.append(ptstr)

        #right side, mid row

        if post[1]+1<8:

            chkr = post[0]

            chkc = post[1]+1

            ptc = [chkr,chkc]

            numcapt = checkcapture(board,ptc)

            if chkr == 0:

                ptstr = "8"+str(chr(chkc+65))

            if chkr == 1:

                ptstr = "7"+str(chr(chkc+65))

            if chkr == 2:

                ptstr = "6"+str(chr(chkc+65))

            if chkr == 3:

                ptstr = "5"+str(chr(chkc+65))

            if chkr == 4:

                ptstr = "4"+str(chr(chkc+65))

            if chkr == 5:

                ptstr = "3"+str(chr(chkc+65))

            if chkr == 6:

                ptstr = "2"+str(chr(chkc+65))

            if chkr == 7:

                ptstr = "1"+str(chr(chkc+65))

            if numcapt > maxcap:

                maxcap = numcapt

                maxpts = []              

                maxpts.append(ptstr)

            elif numcapt == maxcap and maxpts.count(ptstr)==0:

                maxpts.append(ptstr)

        #left side, mid row

        if post[1]-1>=0:

            chkr = post[0]

            chkc = post[1]-1

            ptc = [chkr,chkc]

            numcapt = checkcapture(board,ptc)

            if chkr == 0:

                ptstr = "8"+str(chr(chkc+65))

            if chkr == 1:

                ptstr = "7"+str(chr(chkc+65))

            if chkr == 2:

                ptstr = "6"+str(chr(chkc+65))

            if chkr == 3:

                ptstr = "5"+str(chr(chkc+65))

            if chkr == 4:

                ptstr = "4"+str(chr(chkc+65))

            if chkr == 5:

                ptstr = "3"+str(chr(chkc+65))

            if chkr == 6:

                ptstr = "2"+str(chr(chkc+65))

            if chkr == 7:

                ptstr = "1"+str(chr(chkc+65))

            if numcapt > maxcap:

                maxcap = numcapt

                maxpts = []              

                maxpts.append(ptstr)

            elif numcapt == maxcap and maxpts.count(ptstr)==0:

                maxpts.append(ptstr)

    if maxcap == 0:

        print "NONE"

    else:

        out = ""

        for pts in maxpts:

            out += str(pts) + ","

        out = out[0:(len(out)-1)]

        print out