222832026-01-14 19:56:14algoproTrükkcpp17Elfogadva 60/6043ms1956 KiB
// UUID: 45ce29fe-04ad-4eb7-bc35-b9190ab01650
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;

int e(int n){
    int a = 1;
    for (int i = 0; i < n; i++) {
        a = a*2 % MOD;
    }
    return a;
}

bool isbiparte(int node, const vector<vector<int>>& adj, vector<int>& visited){
    bool f = true;
    for (int i : adj[node]) {
        if (visited[i] != 0) {
            if (visited[i] == visited[node]) return false;
            continue;
        }
        visited[i] = visited[node] % 2 + 1;
        f = (f && isbiparte(i, adj, visited));
    }
    return f;
}

void solve() {
    int n, m;
    cin >> n >> m;

    vector<vector<int>> adj(n+1);

    for (int i = 0; i < m; i++) {
        int a, b;
        cin >> a >> b;
        adj[a-1].push_back(b);
        adj[b].push_back(a-1);
    }

    int res = 0;
    vector<int> visited(n + 1, 0);

    for (int i = 0; i <= n; i++) {
        if (visited[i] != 0) continue;
        visited[i] = 1;
        if (!isbiparte(i, adj, visited)){
            cout << "0\n";
            return;
        } else res++;
    }
    cout << e(res-1) << "\n";
    return;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/01ms508 KiB
2Elfogadva0/021ms1056 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms508 KiB
5Elfogadva3/31ms508 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva2/241ms1736 KiB
8Elfogadva2/237ms1644 KiB
9Elfogadva2/239ms1560 KiB
10Elfogadva2/241ms1696 KiB
11Elfogadva2/239ms1620 KiB
12Elfogadva2/237ms1624 KiB
13Elfogadva2/228ms1332 KiB
14Elfogadva2/228ms1220 KiB
15Elfogadva2/228ms1332 KiB
16Elfogadva2/230ms1356 KiB
17Elfogadva2/229ms1376 KiB
18Elfogadva2/229ms1360 KiB
19Elfogadva2/243ms1784 KiB
20Elfogadva2/241ms1956 KiB
21Elfogadva2/241ms1844 KiB
22Elfogadva2/237ms1712 KiB
23Elfogadva2/237ms1612 KiB
24Elfogadva2/237ms1616 KiB
25Elfogadva2/237ms1692 KiB
26Elfogadva2/228ms1360 KiB
27Elfogadva2/239ms1608 KiB
28Elfogadva2/234ms1360 KiB
29Elfogadva2/214ms1104 KiB
30Elfogadva2/214ms1156 KiB