제출 #783625

#제출 시각아이디문제언어결과실행 시간메모리
783625andecaandeciThe Xana coup (BOI21_xanadu)C++17
5 / 100
1082 ms6528 KiB
#include <bits/stdc++.h> // #define int long long #define fi first #define se second #define keish ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) using namespace std; int n, u, v, x; signed main(){ keish; cin >> n; vector<vector<int>> e(n); for(int i = 1; i < n; i++){ cin >> u >> v; u--, v--; e[u].push_back(v); e[v].push_back(u); } vector<int> v(n); for(auto &x : v) cin >> x; auto can = [&](vector<int> v, int mask){ int i = 0; while(mask){ if(mask & 1){ v[i] ^= 1; for(auto x : e[i]){ v[x] ^= 1; } } mask >>= 1; i++; } bool ok = 1; for(auto x : v) ok &= !x; return ok; }; int ans = 1e9; for(int i = 0; i < 1 << n; i++){ if(can(v, i)){ ans = min(ans, __builtin_popcount(i)); } } if(ans == 1e9) cout << "impossible\n"; else 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...
#Verdict Execution timeMemoryGrader output
Fetching results...