Advertisement
cosenza987

Untitled

Aug 23rd, 2021
905
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector<pair<int, int>> cant;
  6.  
  7. /*int comb(int n, int k) {
  8.     string b(k, 1);
  9.     b.resize(n, 0);
  10.     int ans = 0;
  11.     do {
  12.         set<int> d;
  13.         for(int i = 0; i < n; i++) {
  14.             if(b[i]) {
  15.                 d.insert(i + 1);
  16.             }
  17.         }
  18.         for(auto k : cant) {
  19.             if(d.count(k.first) != 0 and d.count(k.second) != 0) {
  20.                 ans++;
  21.                 break;
  22.             }
  23.         }
  24.     } while(prev_permutation(b.begin(), b.end()));
  25.     return ans;
  26. }*/
  27.  
  28. int main() {
  29.     ios_base::sync_with_stdio(false);
  30.     cin.tie(0);
  31.     int n, m;
  32.     cin >> n >> m;
  33.     for(int i = 0; i < m; i++) {
  34.         int a, b;
  35.         cin >> a >> b;
  36.         cant.push_back({a, b});
  37.     }
  38.     if(m == 0) {
  39.         cout << (1 << n) - 1 << "\n";
  40.         return 0;
  41.     }
  42.     int ans = (1 << n) - 1;
  43.     /*ans -= cant.size();
  44.     for(int i = 3; i <= n; i++) {
  45.         ans -= comb(n, i);
  46.     }*/
  47.     for(int i = 0; i < (1 << n); i++) {
  48.         set<int> d;
  49.         int t = 1;
  50.         int p = i;
  51.         while(i > 0) {
  52.             if(i & 1) {
  53.                 d.insert(t);
  54.             }
  55.             t++;
  56.             i >>= 1;
  57.         }
  58.         i = p;
  59.         for(auto k : cant) {
  60.             if(d.count(k.first) != 0 and d.count(k.second) != 0) {
  61.                 ans--;
  62.                 break;
  63.             }
  64.         }
  65.     }
  66.     cout << ans << "\n";
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement