Submission #503758

#TimeUsernameProblemLanguageResultExecution timeMemory
503758Abrar_Al_SamitPower Plant (JOI20_power)C++17
0 / 100
3 ms5016 KiB
#include<bits/stdc++.h> using namespace std; const int MX = 200005; vector<int>g[MX]; int n; int dp[MX]; string s; int solve(int v, int p=-1) { int &ret = dp[v]; if(s[v]=='0') { for(auto u : g[v]) if(u!=p) { ret += solve(u, v); } } else { int mx = 0; for(auto u : g[v]) if(u!=p) { mx = max(mx, solve(u, v)); } if(mx<2) ret = mx+1; else ret = mx; } return ret; } void PlayGround() { cin >> n; for(int i=1; i<n; ++i) { int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } cin >> s; s = "#" + s; cout << solve(1) << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); PlayGround(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...