227852026-01-15 18:29:43algoproTrükkcpp17Hibás válasz 18/6034ms2440 KiB
// UUID: 03313642-efba-4231-a17d-fa067130bd30
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const ll mod = 1e9 + 7;
const int maxn = 2e4 + 3;
ll pows[maxn];
vector<vector<int>> g(maxn);
vector<int> volt(maxn);

void count_pows() {
	pows[0] = 1;
	for (int i = 1; i < maxn; i ++) pows[i] = (2 * pows[i - 1]) % mod;
}

bool dfs(int u, int val) {
	volt[u] = val;
	int val2 = 3 - val;
	for (int v : g[u]) {
		if (volt[v] == 0) {
			if (!dfs(v, val2)) return false;
		}
		if (volt[v] == val) return false;
	}
	return true;
}

void solve() {
	fill(g.begin(), g.end(), vector<int>());
	fill(volt.begin(), volt.end(), 0);
	int n, m; cin >> n >> m;
	for (int i = 0; i < m; i ++) {
		int u, v; cin >> u >> v;
		g[u - 1].push_back(v); g[v].push_back(u - 1);
	}
	int comps = 0;
	for (int i = 0; i <= n; i ++) {
		if (volt[i] == 0) {
			comps ++;
			if (!dfs(i, 1)) {
				cout << 0; return;
			}
		}
	}
	cout << pows[comps - 1] << "\n";
	return;
}

int main() {
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	count_pows();
	int t; cin >> t;
	while (t --) solve();
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base18/60
1Elfogadva0/02ms1260 KiB
2Elfogadva0/017ms1592 KiB
3Elfogadva3/32ms1076 KiB
4Hibás válasz0/32ms1076 KiB
5Elfogadva3/32ms1076 KiB
6Hibás válasz0/32ms1076 KiB
7Elfogadva2/232ms2068 KiB
8Hibás válasz0/228ms2100 KiB
9Hibás válasz0/228ms2124 KiB
10Elfogadva2/232ms1992 KiB
11Hibás válasz0/229ms2100 KiB
12Hibás válasz0/228ms1916 KiB
13Elfogadva2/228ms2356 KiB
14Hibás válasz0/228ms2124 KiB
15Hibás válasz0/228ms2180 KiB
16Elfogadva2/229ms2356 KiB
17Hibás válasz0/228ms2356 KiB
18Hibás válasz0/228ms2356 KiB
19Elfogadva2/234ms2080 KiB
20Hibás válasz0/230ms2100 KiB
21Hibás válasz0/232ms2100 KiB
22Hibás válasz0/228ms2308 KiB
23Hibás válasz0/229ms2100 KiB
24Hibás válasz0/229ms2100 KiB
25Hibás válasz0/229ms2440 KiB
26Hibás válasz0/228ms2356 KiB
27Hibás válasz0/230ms2100 KiB
28Hibás válasz0/228ms1844 KiB
29Elfogadva2/214ms1592 KiB
30Hibás válasz0/214ms1780 KiB