230822026-01-16 11:44:50algoproTrükkcpp17Elfogadva 60/6039ms3308 KiB
// UUID: 62c3ccc5-90ca-4aa8-9202-2cc869f3b475
    #include <bits/stdc++.h>
    
    using namespace std;
    
    #define ll long long
    #define fs first
    #define sc second
    #define pb push_back
    #define pll pair<ll, ll>
    #define vll vector<ll>
    #define v2ll vector<vll>
    #define pqll priority_queue<ll>

    const ll mod = 1e9+7;
    const ll inf = LONG_LONG_MAX;

    ll n, k;
    vector<bool> vis, c;
    v2ll g;
    bool possible;

    void dfs(ll p) {
        vis[p] = 1;
        for (ll i : g[p]) {
            if (!vis[i]) {
                c[i] = 1-c[p];
                dfs(i);
            } else if (c[p] == c[i])
                possible = false;
        }
    }

    void solve()
    {
        cin >> n >> k;
        g.assign(n+1, vll(0, 0)); vis.assign(n+1, 0); c.assign(n+1, 0);
        possible = true;
        for (ll i = 0; i < k; i++) {
            ll a, b;
            cin >> a >> b;
            g[a-1].pb(b);
            g[b].pb(a-1);
        }
        ll ans = 0;
        dfs(0);
        if (possible) ans++;
        for (ll i = 1; i <= n; i++) {
            if (!possible) break;
            if (!vis[i]) {
                dfs(i);
                if (possible) {
                    ans *= 2;
                }
                else ans = 0;
                ans %= mod;
            }
        }
        cout << ans << '\n';
    }
    
    signed main()
    {
        ios_base::sync_with_stdio(false);
        cin.tie(NULL); cout.tie(NULL);
        ll t = 1;
        cin >> t;
        while(t--)
        {
            solve();
        }
        return 0;
    }
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/01ms500 KiB
2Elfogadva0/017ms1332 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms536 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva2/239ms2200 KiB
8Elfogadva2/235ms2208 KiB
9Elfogadva2/235ms2332 KiB
10Elfogadva2/234ms2060 KiB
11Elfogadva2/232ms2100 KiB
12Elfogadva2/234ms2104 KiB
13Elfogadva2/232ms3052 KiB
14Elfogadva2/229ms3092 KiB
15Elfogadva2/230ms2872 KiB
16Elfogadva2/232ms3124 KiB
17Elfogadva2/232ms3136 KiB
18Elfogadva2/230ms3124 KiB
19Elfogadva2/235ms2272 KiB
20Elfogadva2/235ms2356 KiB
21Elfogadva2/235ms2188 KiB
22Elfogadva2/235ms2356 KiB
23Elfogadva2/235ms2552 KiB
24Elfogadva2/235ms2360 KiB
25Elfogadva2/235ms2356 KiB
26Elfogadva2/232ms3308 KiB
27Elfogadva2/235ms2356 KiB
28Elfogadva2/230ms1840 KiB
29Elfogadva2/217ms2084 KiB
30Elfogadva2/216ms2292 KiB