Submission #869372

#TimeUsernameProblemLanguageResultExecution timeMemory
86937212345678Paths (BOI18_paths)C++17
23 / 100
3069 ms13980 KiB
#include <bits/stdc++.h> using namespace std; const int nx=3e5+5; int n, m, k, u, v, c[nx]; vector<int> d[nx]; long long ans; void dfs(int u, int s) { ans++; for (auto v:d[u]) if (!(s&(1<<c[v]))) dfs(v, s+(1<<c[v])); } int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m>>k; for (int i=1; i<=n; i++) cin>>c[i]; for (int i=0; i<m; i++) cin>>u>>v, d[u].push_back(v), d[v].push_back(u); for (int i=1; i<=n; i++) dfs(i, 1<<c[i]); cout<<ans-n; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...