227732026-01-15 18:20:37algoproTrükkcpp17Elfogadva 60/6035ms2200 KiB
// UUID: 0c22c708-6928-4a17-bb79-31cb8d5444c9
#include <iostream>
#include <vector>

using namespace std;

const int MOD = 1000000007;
vector<int> adj[20005];
int color[20005];
bool hiba;

void dfs(int u, int c) {
    color[u] = c;
    for (int v : adj[u]) {
        if (color[v] == -1) {
            dfs(v, 1 - c);
        } else if (color[v] == c) {
            hiba = true;
        }
    }
}

void solve() {
    int N, K;
    if (!(cin >> N >> K)) return;
    for (int i = 0; i <= N; i++) {
        adj[i].clear();
        color[i] = -1;
    }
    hiba = false;

    for (int i = 0; i < K; i++) {
        int l, r;
        cin >> l >> r;
        adj[l - 1].push_back(r);
        adj[r].push_back(l - 1);
    }

    int komponensek = 0;
    for (int i = 0; i <= N; i++) {
        if (color[i] == -1) {
            komponensek++;
            dfs(i, 0);
        }
    }

    if (hiba) {
        cout << 0 << endl;
    } else {
        long long valasz = 1;
        for (int i = 0; i < komponensek - 1; i++) {
            valasz = (valasz * 2) % MOD;
        }
        cout << valasz << endl;
    }
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int T;
    if (!(cin >> T)) return 0;
    while (T--) solve();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/01ms820 KiB
2Elfogadva0/017ms1332 KiB
3Elfogadva3/31ms820 KiB
4Elfogadva3/31ms820 KiB
5Elfogadva3/31ms820 KiB
6Elfogadva3/31ms820 KiB
7Elfogadva2/232ms1864 KiB
8Elfogadva2/232ms1776 KiB
9Elfogadva2/232ms1820 KiB
10Elfogadva2/232ms1856 KiB
11Elfogadva2/232ms1672 KiB
12Elfogadva2/232ms1856 KiB
13Elfogadva2/228ms2100 KiB
14Elfogadva2/228ms1988 KiB
15Elfogadva2/228ms2100 KiB
16Elfogadva2/229ms2100 KiB
17Elfogadva2/230ms2064 KiB
18Elfogadva2/230ms2132 KiB
19Elfogadva2/234ms1844 KiB
20Elfogadva2/232ms1844 KiB
21Elfogadva2/234ms1844 KiB
22Elfogadva2/234ms1928 KiB
23Elfogadva2/234ms1876 KiB
24Elfogadva2/235ms1864 KiB
25Elfogadva2/234ms1844 KiB
26Elfogadva2/230ms2200 KiB
27Elfogadva2/232ms1844 KiB
28Elfogadva2/229ms1512 KiB
29Elfogadva2/214ms1588 KiB
30Elfogadva2/214ms1544 KiB