222732026-01-14 19:44:38algoproTrükkcpp17Hibás válasz 0/6043ms1624 KiB
// UUID: a5740b89-b3d0-4715-877f-fa3980781067
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;

int e(int n){
    if (n == 0) return 1;
    else return (2*e(n-1)) % MOD;
}

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 true;
}

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].push_back(b);
        adj[b].push_back(a);
    }

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

    for (int i = 1; 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) << "\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
base0/60
1Elfogadva0/01ms500 KiB
2Hibás válasz0/019ms1028 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms500 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/239ms1336 KiB
8Hibás válasz0/241ms1616 KiB
9Hibás válasz0/239ms1616 KiB
10Hibás válasz0/239ms1460 KiB
11Hibás válasz0/239ms1360 KiB
12Hibás válasz0/239ms1572 KiB
13Hibás válasz0/227ms1244 KiB
14Hibás válasz0/227ms1104 KiB
15Hibás válasz0/228ms1104 KiB
16Hibás válasz0/228ms1364 KiB
17Hibás válasz0/228ms1548 KiB
18Hibás válasz0/228ms1360 KiB
19Hibás válasz0/241ms1624 KiB
20Hibás válasz0/243ms1616 KiB
21Hibás válasz0/241ms1552 KiB
22Hibás válasz0/237ms1360 KiB
23Hibás válasz0/239ms1484 KiB
24Hibás válasz0/239ms1360 KiB
25Hibás válasz0/237ms1332 KiB
26Hibás válasz0/227ms1268 KiB
27Hibás válasz0/241ms1456 KiB
28Hibás válasz0/234ms1428 KiB
29Hibás válasz0/214ms1076 KiB
30Hibás válasz0/214ms1076 KiB