Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. //
  2. // Created by Mahmoud Rashad on 11/27/19.
  3. //
  4.  
  5.  
  6. #include <bits/stdc++.h>
  7.  
  8. using namespace std;
  9.  
  10. typedef vector<pair<int, bool>> vii;
  11.  
  12. int main(){
  13.  
  14.     int n;
  15.     cin >> n;
  16.     vector<vii> data(n, vii());
  17.     for (int i = 0; i < n; ++i) {
  18.         int a;
  19.         cin >> a;
  20.         while (a--) {
  21.             int u;
  22.             bool kind;
  23.             cin >> u >> kind;
  24.             data[i].push_back({--u, kind});
  25.         }
  26.     }
  27.  
  28.  
  29.     int ans = 0;
  30.     for(int mask = 0; mask < (1 << n); ++mask) {
  31.         bool f = true;
  32.         for (int i = 0; i < n; ++i) {
  33.             if (!(mask & (1 << i)))
  34.                 continue;
  35.             for (auto &p : data[i]) {
  36.                 int u = p.first;
  37.                 bool kind = p.second;
  38. //                cout << mask << ' ' << u << ' ' << kind << endl;
  39.                 f &= ((bool)(mask & (1 << u)) == kind);
  40.             }
  41.         }
  42. //        cout << mask << ' ' << f << endl;
  43.         ans = max(ans, __builtin_popcount(mask) * f);
  44.     }
  45.  
  46.  
  47.     cout << ans << '\n';
  48.  
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement