Submission #1273526

#TimeUsernameProblemLanguageResultExecution timeMemory
1273526KindaGoodGamesThe Xana coup (BOI21_xanadu)C++20
0 / 100
1095 ms5836 KiB
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector<vector<int>> adj(n); for(int i = 0; i < n-1; i++){ int a,b; cin >> a >> b; a--;b--; adj[a].push_back(b); adj[b].push_back(a); } vector<bool> ostate(n); for(int i = 0; i < n; i++){ int a; cin >> a; ostate[i] = a; } int p2 = 1 << n; int b = 1e9; for(int m = 0; m < p2; m++){ vector<bool> state = ostate; for(int i = 0;i < n; i++){ if(m & (1 << i)){ state[i] = !state[i]; for(auto u : adj[i]){ state[u] = !state[u]; } } } bool valid = true; for(int i = 0; i < n; i++){ if(state[i]){ valid = false; break; } } if(valid){ b = min(b, __builtin_popcount(m)); } } if(b == 1e9){ cout << "imposssible\n"; }else{ cout << b << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...