제출 #1323317

#제출 시각아이디문제언어결과실행 시간메모리
1323317jakganThe Xana coup (BOI21_xanadu)C++20
0 / 100
1096 ms6220 KiB
#include <iostream> #include <vector> #include <bitset> using namespace std; using ll = long long; int main(){ ios_base::sync_with_stdio(0); cin.tie(nullptr); int n,a,b; cin >> n; vector<vector<int>> drzewo(n+1); vector<int> dp(n+1,0); for(int i=0;i<n-1;i++){ cin >> a >> b; drzewo[a].push_back(b); drzewo[b].push_back(a); dp[a-1] |= (1<<(b-1)); dp[b-1] |= (1<<(a-1)); } int mask = 0; for(int i=0;i<n;i++){ cin >> a; mask |= ((1&a)<<i); dp[i] |= (1<<i); } int maskTemp = mask; if(mask == 0){ cout << 0; return 0; } for(int i=0;i<(1<<n);i++){ maskTemp = mask; int licznik = 0; for(int j=0;j<n;j++){ if((i>>j)&1){ licznik++; maskTemp ^= dp[j]; } } if(maskTemp==0){ cout << licznik; return 0; } } cout << "impossible"; return 0; }
#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...