AtCoder Beginner Contest 025

Submission #1679741

Source codeソースコード

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

Task問題 C - 双子と○×ゲーム
User nameユーザ名 omi_UT
Created time投稿日時
Language言語 Python3 (3.4.3)
Status状態 AC
Score得点 100
Source lengthソースコード長 1667 Byte
File nameファイル名
Exec time実行時間 1712 ms
Memory usageメモリ使用量 3316 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - sample-01.txt,sample-02.txt
All 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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