Submission #858520

# Submission time Handle Problem Language Result Execution time Memory
858520 2023-10-08T15:27:24 Z serifefedartar Paths (BOI18_paths) C++17
23 / 100
3000 ms 7072 KB
#include <bits/stdc++.h>
using namespace std;
 
#define fast ios::sync_with_stdio(0);cin.tie(0);
#define s second
#define f first
typedef long long ll;
const ll MOD = 998244353;
const ll LOGN = 18; 
const ll INF = 1e15;
const ll MAXN = 3e5 + 5;

vector<vector<int>> graph;
int t[MAXN];
ll ans = 0;
void dfs(int node, int mask_now, int target) {
	if (mask_now == target)
		ans++;

	for (auto u : graph[node]) {
		if ((1<<t[u]) & mask_now)
			continue;

		if ((1<<t[u]) & target)
			dfs(u, mask_now | (1<<t[u]), target);
	}
}

int main() {
	fast
	int N, M, K, a, b;
	cin >> N >> M >> K;

	graph = vector<vector<int>>(N+1, vector<int>());
	for (int i = 1; i <= N; i++)
		cin >> t[i], t[i]--;
	for (int i = 0; i < M; i++) {
		cin >> a >> b;
		graph[a].push_back(b);
		graph[b].push_back(a);
	}

	for (int i = 0; i < (1<<K); i++) {
		for (int node = 1; node <= N; node++) {
			if ((1<<t[node]) & i)
				dfs(node, 1<<t[node], i);
		}
	}
	cout << ans - N << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2716 ms 7072 KB Output is correct
2 Execution timed out 3079 ms 6224 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 2716 ms 7072 KB Output is correct
12 Execution timed out 3079 ms 6224 KB Time limit exceeded
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Execution timed out 3081 ms 2220 KB Time limit exceeded
3 Halted 0 ms 0 KB -