72382024-01-04 15:37:33anonTrükkcpp17Elfogadva 60/6048ms10352 KiB
#include <bits/stdc++.h>
#define MOD ((ll) (1e9 + 7))
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
typedef long long ll;
using namespace std;
int main() {
    FastIO;
    ll i, j, T, ans;
    cin >> T;
    vector<ll> N(T);
    vector<ll> K(T);
    vector<vector<array<ll, 2>>> ranges(T);
    for(i = 0; i < T; i++) {
        cin >> N[i] >> K[i];
        ranges[i].resize(K[i]);
        for(j = 0; j < K[i]; j++) {
            cin >> ranges[i][j][0] >> ranges[i][j][1];
            ranges[i][j][0]--;
        }
    }
    for(i = 0; i < T; i++) {
        vector<vector<ll>> graph(N[i] + 1);
        for(j = 0; j < K[i]; j++) {
            graph[ranges[i][j][0]].push_back(ranges[i][j][1]);
            graph[ranges[i][j][1]].push_back(ranges[i][j][0]);
        }
        vector<ll> colors(N[i] + 1, 0);
        ans = 0;
        for(j = 0; j <= N[i]; j++) {
            if(colors[j])
                continue;
            stack<array<ll, 2>> st;
            st.push({ j, colors[j] = 1 });
            while(!st.empty()) {
                auto [box, color] = st.top();
                st.pop();
                for(const auto &x : graph[box]) {
                    if(!colors[x]) {
                        st.push({ x, colors[x] = 3 - color });
                    }
                    else if(colors[x] == color) {
                        cout << "0\n";
                        goto next;
                    }
                }
            }
            ans = ans ? ((ans * 2LL) % MOD) : 1;
        }
        cout << ans << '\n';
        next:;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/03ms1832 KiB
2Elfogadva0/026ms5216 KiB
3Elfogadva3/33ms2264 KiB
4Elfogadva3/33ms2440 KiB
5Elfogadva3/33ms2664 KiB
6Elfogadva3/33ms3156 KiB
7Elfogadva2/248ms9020 KiB
8Elfogadva2/243ms9024 KiB
9Elfogadva2/243ms9188 KiB
10Elfogadva2/248ms9284 KiB
11Elfogadva2/243ms9404 KiB
12Elfogadva2/243ms9344 KiB
13Elfogadva2/239ms9292 KiB
14Elfogadva2/234ms9400 KiB
15Elfogadva2/234ms9412 KiB
16Elfogadva2/241ms9520 KiB
17Elfogadva2/237ms9628 KiB
18Elfogadva2/235ms9608 KiB
19Elfogadva2/248ms10024 KiB
20Elfogadva2/245ms10108 KiB
21Elfogadva2/246ms10064 KiB
22Elfogadva2/243ms10000 KiB
23Elfogadva2/243ms9960 KiB
24Elfogadva2/241ms9964 KiB
25Elfogadva2/241ms10352 KiB
26Elfogadva2/235ms9944 KiB
27Elfogadva2/243ms10040 KiB
28Elfogadva2/237ms10348 KiB
29Elfogadva2/224ms7640 KiB
30Elfogadva2/217ms7600 KiB