結果

問題 No.437 cwwゲーム
ユーザー kitayankitayan
提出日時 2016-11-02 17:37:32
言語 Python2
(2.7.18)
結果
RE  
実行時間 -
コード長 1,739 bytes
コンパイル時間 203 ms
コンパイル使用メモリ 7,072 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-05-03 21:04:53
合計ジャッジ時間 1,861 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
testcase_14 RE -
testcase_15 RE -
testcase_16 RE -
testcase_17 RE -
testcase_18 RE -
testcase_19 RE -
testcase_20 RE -
testcase_21 RE -
testcase_22 RE -
testcase_23 RE -
testcase_24 RE -
testcase_25 RE -
testcase_26 RE -
testcase_27 RE -
testcase_28 RE -
testcase_29 RE -
testcase_30 RE -
testcase_31 RE -
testcase_32 RE -
testcase_33 RE -
testcase_34 RE -
testcase_35 RE -
testcase_36 RE -
testcase_37 RE -
testcase_38 RE -
testcase_39 RE -
testcase_40 RE -
testcase_41 RE -
testcase_42 RE -
testcase_43 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

#! usr/env/bin python
# -*- coding:utf-8 -*-

import math
import numpy as np

if __name__ == "__main__":
    N = input()
    N = int(N)
    
    I = range(int(math.log10(N) + 1))
    #print I
    
    score = 0
    A = []
    n = N
    for i in I:
        tmp = [int(n / (10**(len(I)-i-1)))]
        A = A + tmp
        n = n - (10**(len(I)-i-1))*A[-1]
        #print n
        #print A

    l = A
    candidate = [];
    for i in range(len(l)-2):
        for j in range(i+1, len(l)-1):
            for k in range(j+1, len(l)):
                if l[i] != 0 and l[i] != l[j] and l[j] == l[k]:
                    candidate.append([i,j,k])

    #print candidate
    maxscore = 0
    cand = []
    for key in range(len(candidate)):
        score = 0
        cand[:] = candidate
        tmp = cand[key]
        i = tmp[0]
        j = tmp[1]
        k = tmp[2]
        
        score += l[i]*100 + l[j]*10 + l[k]
        x = len(cand)-1
        while x >= 0:
            if i in cand[x]:
                cand.pop(x)
            elif j in cand[x]:
                cand.pop(x)
            elif k in cand[x]:
                cand.pop(x)
            x -= 1
        while len(cand) > 0:
            tmp = cand[0]
            i = tmp[0]
            j = tmp[1]
            k = tmp[2]
            score += l[i]*100 + l[j]*10 + l[k]
            x = len(cand)-1
            while x >= 0:
                if i in cand[x]:
                    cand.pop(x)
                elif j in cand[x]:
                    cand.pop(x)
                elif k in cand[x]:
                    cand.pop(x)
                x -= 1
        if score > maxscore:
            maxscore = score
        #print candidate
    print str(maxscore)
    print '\r'    
    #print score

0