217352026-01-13 18:40:14algoproTrükkpypy3Runtime error 0/60368ms64000 KiB
# UUID: 411d7393-6ac9-436a-a2e6-3a41b3bca3c9
import sys
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)

sys.setrecursionlimit=20001
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/039ms19576 KiB
2Runtime error0/0368ms64000 KiB
3Wrong answer0/346ms19932 KiB
4Wrong answer0/339ms19836 KiB
5Wrong answer0/352ms21224 KiB
6Wrong answer0/345ms21224 KiB
7Runtime error0/2166ms32344 KiB
8Runtime error0/2185ms47080 KiB
9Runtime error0/2215ms50408 KiB
10Runtime error0/2192ms49640 KiB
11Runtime error0/2206ms60900 KiB
12Runtime error0/2206ms57128 KiB
13Runtime error0/2323ms64000 KiB
14Runtime error0/2279ms64000 KiB
15Runtime error0/2277ms64000 KiB
16Runtime error0/2247ms64000 KiB
17Runtime error0/2310ms64000 KiB
18Runtime error0/2280ms64000 KiB
19Runtime error0/2165ms31720 KiB
20Runtime error0/2184ms51688 KiB
21Runtime error0/2171ms33616 KiB
22Runtime error0/2165ms31616 KiB
23Runtime error0/2165ms31640 KiB
24Runtime error0/2172ms31656 KiB
25Runtime error0/2166ms32096 KiB
26Runtime error0/2279ms64000 KiB
27Runtime error0/2212ms51004 KiB
28Wrong answer0/2358ms60848 KiB
29Wrong answer0/2216ms43240 KiB
30Wrong answer0/2238ms42728 KiB