Submission #127615

#TimeUsernameProblemLanguageResultExecution timeMemory
127615mechfrog88Paths (BOI18_paths)C++14
23 / 100
3042 ms10400 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC optimize("unroll-loops,no-stack-protector") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace __gnu_pbds; using namespace std; template <typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; typedef long long ll; typedef long double ld; ll n,m,k; vector <vector<ll>> graph; vector <ll> color; ll dfs(ll v,ll p,vector <bool> arr){ ll c = 1; arr[color[v]] = true; for (int z=0;z<graph[v].size();z++){ if (graph[v][z] == p) continue; if (arr[color[graph[v][z]]]) continue; c += dfs(graph[v][z],v,arr); } return c; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m >> k; graph.resize(n+1); color.resize(n+1); for (int z=0;z<n;z++){ cin >> color[z+1]; } for (int z=0;z<m;z++){ ll a,b; cin >> a >> b; graph[a].push_back(b); graph[b].push_back(a); } ll ans = 0; for (int z=1;z<=n;z++){ vector <bool> arr(k+1,false); ans += dfs(z,0,arr)-1; } cout << ans << endl; }

Compilation message (stderr)

paths.cpp: In function 'll dfs(ll, ll, std::vector<bool>)':
paths.cpp:23:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int z=0;z<graph[v].size();z++){
               ~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...