Submission #1679741


Source Code Expand

def calc(board,b,c,ms):
    ret = -ms
    if (board[0*3+0] == board[1*3+0]): ret += 2*b[0]
    if (board[0*3+1] == board[1*3+1]): ret += 2*b[1]
    if (board[0*3+2] == board[1*3+2]): ret += 2*b[2]
    if (board[1*3+0] == board[2*3+0]): ret += 2*b[3]
    if (board[1*3+1] == board[2*3+1]): ret += 2*b[4]
    if (board[1*3+2] == board[2*3+2]): ret += 2*b[5]
    if (board[0*3+0] == board[0*3+1]): ret += 2*c[0]
    if (board[0*3+1] == board[0*3+2]): ret += 2*c[1]
    if (board[1*3+0] == board[1*3+1]): ret += 2*c[2]
    if (board[1*3+1] == board[1*3+2]): ret += 2*c[3]
    if (board[2*3+0] == board[2*3+1]): ret += 2*c[4]
    if (board[2*3+1] == board[2*3+2]): ret += 2*c[5]
    return ret

def dai(board,count,b,c,ms):
    score = -10000
    for i in range(9):
        if board[i] != 0: continue
        board[i] = 1
        score = max(score, ko(list(board),count,b,c,ms))
        board[i] = 0
    return score

def ko(board,count,b,c,ms):
    if count == 5: return calc(board,b,c,ms)
    score = 10000
    for i in range(9):
        if board[i] != 0: continue
        board[i] = -1
        score = min(score,dai(list(board),count+1,b,c,ms))
        board[i] = 0
    return score

def main():
    board = [0]*9
    b = list(map(int,input().split()))
    b.extend(list(map(int,input().split())))
    c = list(map(int,input().split()))
    c.extend(list(map(int,input().split())))
    c.extend(list(map(int,input().split())))
    score = 0
    for i in range(6):
        score += b[i] + c[i]
    sa = dai(board,1,b,c,score)
    dais = (score + sa)//2
    kos = (score - sa)//2
    print(dais)
    print(kos)

main()

Submission Info

Submission Time
Task C - 双子と○×ゲーム
User omi
Language Python (3.4.3)
Score 100
Code Size 1667 Byte
Status AC
Exec Time 1712 ms
Memory 3316 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 2
AC × 24
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All sample-01.txt, sample-02.txt, test-01.txt, test-02.txt, test-03.txt, test-04.txt, test-05.txt, test-06.txt, test-07.txt, test-08.txt, test-09.txt, test-10.txt, test-11.txt, test-12.txt, test-13.txt, test-14.txt, test-15.txt, test-16.txt, test-17.txt, test-18.txt, test-19.txt, test-20.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1645 ms 3316 KB
sample-02.txt AC 1619 ms 3192 KB
test-01.txt AC 1605 ms 3192 KB
test-02.txt AC 1613 ms 3192 KB
test-03.txt AC 1629 ms 3192 KB
test-04.txt AC 1599 ms 3192 KB
test-05.txt AC 1622 ms 3192 KB
test-06.txt AC 1636 ms 3192 KB
test-07.txt AC 1640 ms 3192 KB
test-08.txt AC 1597 ms 3192 KB
test-09.txt AC 1562 ms 3192 KB
test-10.txt AC 1621 ms 3192 KB
test-11.txt AC 1520 ms 3192 KB
test-12.txt AC 1636 ms 3192 KB
test-13.txt AC 1577 ms 3192 KB
test-14.txt AC 1712 ms 3192 KB
test-15.txt AC 1678 ms 3192 KB
test-16.txt AC 1617 ms 3192 KB
test-17.txt AC 1604 ms 3192 KB
test-18.txt AC 1642 ms 3192 KB
test-19.txt AC 1580 ms 3192 KB
test-20.txt AC 1617 ms 3192 KB