답안 #1035437

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1035437 2024-07-26T11:05:00 Z vjudge1 Political Development (BOI17_politicaldevelopment) C++17
4 / 100
2527 ms 47164 KB
#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector,fast-math,inline")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,lzcnt,mmx,abm,avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;

#define all(x) x.begin(), x.end()

const int N = 5e4, X = 1e3;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int n, k, c, ans;
vector<int> vt, adj[N];
bitset<N> bt[N], bt2[N], taken, toTake;

void dfs2(int x) {
  if (c++ > X) return;

  int sz = taken.count();
  ans = max(ans, sz);
  
  //shuffle(all(adj[x]), rng);
  for (int& y : adj[x]) { 
    if (c++ > X) return;
    if (!taken[y] && (taken & bt2[y]).count() < sz) continue;

    taken[y] = 1;
    bitset<N> toTakePrev = toTake;
    toTake &= bt2[y];

    dfs2(y);
    if (c++ > X) return;

    toTake = toTakePrev;
    taken[y] = 0;
  }
}

signed main() {
  ios::sync_with_stdio(false); cin.tie(nullptr);

  cin >> n >> k;
  ans = 1;
  vt.resize(n);
  for (int i = 0; i < n; i++) {
    vt[i] = i;
    bt2[i][i] = toTake[i] = 1;

    int x; cin >> x;
    for (int j = 0; j < x; j++) {
      int y; cin >> y;
      bt[i][y] = 1;

      if (bt[y][i]) {
        bt2[i][y] = 1;
        adj[i].push_back(y);

        bt2[y][i] = 1;
        adj[y].push_back(i);
      }
    }
  }

  for (int i = 0; i < n; i++) {
    c = 0;

    taken.reset();
    taken[i] = 1;
    toTake = bt2[i];

    dfs2(i);
  }

  cout << ans << "\n";
}

Compilation message

politicaldevelopment.cpp: In function 'void dfs2(int)':
politicaldevelopment.cpp:25:47: warning: comparison of integer expressions of different signedness: 'std::size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   25 |     if (!taken[y] && (taken & bt2[y]).count() < sz) continue;
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 4700 KB Output is correct
2 Correct 5 ms 4784 KB Output is correct
3 Correct 1409 ms 47164 KB Output is correct
4 Correct 2527 ms 45904 KB Output is correct
5 Correct 2432 ms 45908 KB Output is correct
6 Correct 2086 ms 46168 KB Output is correct
7 Correct 1986 ms 46244 KB Output is correct
8 Correct 13 ms 21596 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 15 ms 24668 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 4700 KB Output is correct
2 Correct 5 ms 4784 KB Output is correct
3 Correct 1409 ms 47164 KB Output is correct
4 Correct 2527 ms 45904 KB Output is correct
5 Correct 2432 ms 45908 KB Output is correct
6 Correct 2086 ms 46168 KB Output is correct
7 Correct 1986 ms 46244 KB Output is correct
8 Correct 13 ms 21596 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 15 ms 24668 KB Output is correct
11 Correct 2375 ms 45840 KB Output is correct
12 Correct 2485 ms 45972 KB Output is correct
13 Correct 4 ms 4696 KB Output is correct
14 Correct 2299 ms 45652 KB Output is correct
15 Correct 5 ms 4700 KB Output is correct
16 Correct 1930 ms 46136 KB Output is correct
17 Incorrect 3 ms 4700 KB Output isn't correct
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 21592 KB Output is correct
2 Correct 8 ms 4700 KB Output is correct
3 Correct 8 ms 4700 KB Output is correct
4 Correct 6 ms 4700 KB Output is correct
5 Correct 9 ms 4700 KB Output is correct
6 Correct 8 ms 4948 KB Output is correct
7 Incorrect 8 ms 4700 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 4700 KB Output is correct
2 Correct 5 ms 4784 KB Output is correct
3 Correct 1409 ms 47164 KB Output is correct
4 Correct 2527 ms 45904 KB Output is correct
5 Correct 2432 ms 45908 KB Output is correct
6 Correct 2086 ms 46168 KB Output is correct
7 Correct 1986 ms 46244 KB Output is correct
8 Correct 13 ms 21596 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 15 ms 24668 KB Output is correct
11 Correct 2375 ms 45840 KB Output is correct
12 Correct 2485 ms 45972 KB Output is correct
13 Correct 4 ms 4696 KB Output is correct
14 Correct 2299 ms 45652 KB Output is correct
15 Correct 5 ms 4700 KB Output is correct
16 Correct 1930 ms 46136 KB Output is correct
17 Incorrect 3 ms 4700 KB Output isn't correct
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 4700 KB Output is correct
2 Correct 5 ms 4784 KB Output is correct
3 Correct 1409 ms 47164 KB Output is correct
4 Correct 2527 ms 45904 KB Output is correct
5 Correct 2432 ms 45908 KB Output is correct
6 Correct 2086 ms 46168 KB Output is correct
7 Correct 1986 ms 46244 KB Output is correct
8 Correct 13 ms 21596 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 15 ms 24668 KB Output is correct
11 Correct 2375 ms 45840 KB Output is correct
12 Correct 2485 ms 45972 KB Output is correct
13 Correct 4 ms 4696 KB Output is correct
14 Correct 2299 ms 45652 KB Output is correct
15 Correct 5 ms 4700 KB Output is correct
16 Correct 1930 ms 46136 KB Output is correct
17 Incorrect 3 ms 4700 KB Output isn't correct
18 Halted 0 ms 0 KB -