217332026-01-13 18:39:16algoproTrükkpypy3Runtime error 0/60398ms64000 KiB
# UUID: a1e6aa8e-b179-4712-8e6c-3a67989d3f50
def dfs(i,p):
    if pref[i]==p:
        b[0]=True
    elif pref[i]==0:
        pref[i]=-p
        for j in graf[i]:
            dfs(j,-p)


t=int(input())
for _ in range(t):
    n,k=map(int,input().split())
    l=[]
    b=[False]
    for __ in range(k):
        l.append(list(map(int,input().split())))
    graf=[[] for __ in range(n+1)]
    #print(l)
    for i in l:
        graf[i[0]].append(i[1])
        graf[i[1]].append(i[0])
    pref=[0]*(n+1)
    #print(graf)
    komp=0
    for i in range(1,n+1):
        if pref[i]==0:
            komp+=1
            if graf[i]!=[]:
                dfs(i,-1)
            else:
                pref[i]=1
    #print(pref)
    if b[0]:
        print(0)
    else:
        print((2**komp)%(10**9+7))
            
    

SubtaskSumTestVerdictTimeMemory
base0/60
1Accepted0/045ms19672 KiB
2Runtime error0/0363ms64000 KiB
3Wrong answer0/341ms20144 KiB
4Wrong answer0/341ms20132 KiB
5Wrong answer0/345ms21412 KiB
6Wrong answer0/350ms21240 KiB
7Runtime error0/2165ms32320 KiB
8Runtime error0/2206ms47076 KiB
9Runtime error0/2188ms50420 KiB
10Runtime error0/2193ms49552 KiB
11Runtime error0/2204ms60800 KiB
12Runtime error0/2202ms57364 KiB
13Runtime error0/2307ms64000 KiB
14Runtime error0/2307ms64000 KiB
15Runtime error0/2273ms64000 KiB
16Runtime error0/2246ms64000 KiB
17Runtime error0/2301ms64000 KiB
18Runtime error0/2277ms64000 KiB
19Runtime error0/2164ms31784 KiB
20Runtime error0/2185ms51856 KiB
21Runtime error0/2186ms33768 KiB
22Runtime error0/2162ms31464 KiB
23Runtime error0/2194ms31720 KiB
24Runtime error0/2159ms31720 KiB
25Runtime error0/2165ms32040 KiB
26Runtime error0/2300ms64000 KiB
27Runtime error0/2193ms50920 KiB
28Wrong answer0/2398ms60652 KiB
29Wrong answer0/2215ms43232 KiB
30Wrong answer0/2214ms42980 KiB