結果

問題 No.334 門松ゲーム
ユーザー maspymaspy
提出日時 2020-02-02 14:25:17
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 670 bytes
コンパイル時間 87 ms
コンパイル使用メモリ 11,904 KB
実行使用メモリ 10,132 KB
最終ジャッジ日時 2023-10-19 00:49:47
合計ジャッジ時間 1,529 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 28 ms
10,132 KB
testcase_01 AC 28 ms
10,132 KB
testcase_02 AC 35 ms
10,132 KB
testcase_03 AC 30 ms
10,132 KB
testcase_04 AC 29 ms
10,132 KB
testcase_05 AC 29 ms
10,132 KB
testcase_06 AC 33 ms
10,132 KB
testcase_07 AC 33 ms
10,132 KB
testcase_08 AC 29 ms
10,132 KB
testcase_09 AC 30 ms
10,132 KB
testcase_10 AC 44 ms
10,132 KB
testcase_11 AC 31 ms
10,132 KB
testcase_12 AC 31 ms
10,132 KB
testcase_13 AC 30 ms
10,132 KB
testcase_14 AC 32 ms
10,132 KB
testcase_15 AC 31 ms
10,132 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

import itertools

N,*K = map(int,read().split())

def F(K):
    """勝てるなら、Trueとその初手
    負けるなら、Falseを返す"""
    for i,j,k in itertools.combinations(range(len(K)),3):
        is_kadomatsu = (K[i] > K[j] < K[k]) or (K[i] < K[j] > K[k])
        if not is_kadomatsu:
            continue
        newK = [x for ind,x in enumerate(K) if ind not in [i,j,k]]
        result = F(newK)
        if not result:
            return True, (i,j,k)
    return False

result = F(K)
if result:
    print(*result[1])
else:
    print(-1)
0