結果

問題 No.95 Alice and Graph
ユーザー しらっ亭
提出日時 2015-10-01 00:02:25
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 698 bytes
コンパイル時間 117 ms
コンパイル使用メモリ 12,416 KB
実行使用メモリ 211,560 KB
最終ジャッジ日時 2024-07-19 18:44:59
合計ジャッジ時間 12,891 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other TLE * 1 -- * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

def solve():
    N, M, K = map(int, input().split())

    es = [set() for _ in range(N)]

    for i in range(M):
        u, v = map(int, input().split())
        u -= 1
        v -= 1
        es[u].add(v)
        es[v].add(u)

    dp = {}

    def rec(p, c, k):
        pck = (p, c, k)

        if k == 0:
            return c

        if pck in dp:
            return dp[pck]

        ma = 0
        for n in es[p]:
            ma = max(ma, rec(n, c | (1 << n), k - 1))

        dp[pck] = ma
        return ma

    ab = rec(0, 0, K)

    ans = 0
    for i in range(N):
        if ab & 1 == 1:
            ans += 2 ** i - 1
        ab >>= 1

    print(ans)


if __name__ == '__main__':
    solve()
0