結果

問題 No.2236 Lights Out On Simple Graph
ユーザー roarisroaris
提出日時 2023-03-04 00:50:52
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,852 ms / 4,000 ms
コード長 890 bytes
コンパイル時間 279 ms
コンパイル使用メモリ 82,196 KB
実行使用メモリ 259,336 KB
最終ジャッジ日時 2024-09-18 00:49:27
合計ジャッジ時間 51,285 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 43 ms
54,144 KB
testcase_01 AC 41 ms
54,208 KB
testcase_02 AC 42 ms
55,228 KB
testcase_03 AC 1,852 ms
258,480 KB
testcase_04 AC 1,288 ms
227,784 KB
testcase_05 AC 46 ms
54,468 KB
testcase_06 AC 1,444 ms
258,276 KB
testcase_07 AC 1,431 ms
187,196 KB
testcase_08 AC 42 ms
55,392 KB
testcase_09 AC 42 ms
55,548 KB
testcase_10 AC 356 ms
114,404 KB
testcase_11 AC 149 ms
76,972 KB
testcase_12 AC 509 ms
133,620 KB
testcase_13 AC 98 ms
84,820 KB
testcase_14 AC 975 ms
172,640 KB
testcase_15 AC 91 ms
81,384 KB
testcase_16 AC 118 ms
86,104 KB
testcase_17 AC 190 ms
96,456 KB
testcase_18 AC 61 ms
69,392 KB
testcase_19 AC 173 ms
102,272 KB
testcase_20 AC 779 ms
175,988 KB
testcase_21 AC 180 ms
102,232 KB
testcase_22 AC 1,697 ms
259,180 KB
testcase_23 AC 1,596 ms
259,028 KB
testcase_24 AC 1,016 ms
160,896 KB
testcase_25 AC 305 ms
134,216 KB
testcase_26 AC 1,593 ms
258,860 KB
testcase_27 AC 775 ms
176,000 KB
testcase_28 AC 1,149 ms
212,432 KB
testcase_29 AC 175 ms
102,088 KB
testcase_30 AC 1,675 ms
258,372 KB
testcase_31 AC 1,685 ms
259,016 KB
testcase_32 AC 1,733 ms
258,928 KB
testcase_33 AC 1,744 ms
258,348 KB
testcase_34 AC 1,691 ms
259,276 KB
testcase_35 AC 1,391 ms
259,336 KB
testcase_36 AC 1,210 ms
167,748 KB
testcase_37 AC 1,509 ms
258,660 KB
testcase_38 AC 1,009 ms
109,472 KB
testcase_39 AC 855 ms
78,368 KB
testcase_40 AC 645 ms
118,180 KB
testcase_41 AC 161 ms
91,460 KB
testcase_42 AC 491 ms
154,392 KB
testcase_43 AC 103 ms
79,828 KB
testcase_44 AC 1,372 ms
160,908 KB
testcase_45 AC 1,607 ms
223,068 KB
testcase_46 AC 1,450 ms
168,780 KB
testcase_47 AC 1,463 ms
224,824 KB
testcase_48 AC 1,559 ms
191,460 KB
testcase_49 AC 1,458 ms
196,388 KB
testcase_50 AC 76 ms
71,576 KB
testcase_51 AC 340 ms
119,988 KB
testcase_52 AC 80 ms
74,396 KB
testcase_53 AC 47 ms
61,392 KB
testcase_54 AC 866 ms
124,964 KB
testcase_55 AC 1,032 ms
91,176 KB
testcase_56 AC 828 ms
90,432 KB
testcase_57 AC 875 ms
98,136 KB
testcase_58 AC 934 ms
84,592 KB
testcase_59 AC 891 ms
83,396 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline
from collections import *

N, M = map(int, input().split())
edges = [tuple(map(int, input().split())) for _ in range(M)]
c = list(map(int, input().split()))
M1 = M//2
M2 = M-M1
pair = defaultdict(lambda: 10**18)

for S in range(1<<M1):
    mask = 0
    cnt = 0
    
    for i in range(M1):
        if (S>>i)&1:
            u, v = edges[i]
            mask ^= 1<<(u-1)
            mask ^= 1<<(v-1)
            cnt += 1
    
    for v in range(N):
        if c[v]==1:
            mask ^= 1<<v
    
    pair[mask] = min(pair[mask], cnt)

ans = 10**18

for S in range(1<<M2):
    mask = 0
    cnt = 0
    
    for i in range(M2):
        if (S>>i)&1:
            u, v = edges[M1+i]
            mask ^= 1<<(u-1)
            mask ^= 1<<(v-1)
            cnt += 1

    ans = min(ans, cnt+pair[mask])
        
if ans==10**18:
    print(-1)
else:
    print(ans)
0