제출 #1186581

#제출 시각아이디문제언어결과실행 시간메모리
1186581versesrevGame (IOI14_game)C++20
컴파일 에러
0 ms0 KiB
#include <deque> #include <vector> #include <bitset> constexpr int N = 1500; int n{}; std::vector<std::bitset<N>> edges; void initialize(int _n) { n = _n; edges.assign(n, {}); for (int i = 0; i < n; ++i) { edges[i] = ~edges[i]; } } int hasEdge(int u, int v) { edges[u][v] = edges[v][u] = false; std::deque<int> queue; std::bitset<N> visited; int count = 0; queue.push_back(u), visited[u] = true, ++count; while (not queue.empty()) { int cur = queue.front(); queue.pop_front(); if (edges[cur] & ~visited) { for (int nxt = 0; nxt < n; ++nxt) { if (edges[cur][nxt] and not visited[nxt]) { queue.push_back(nxt), visited[nxt] = true, ++count; } } } } if (count != n) { edges[u][v] = edges[v][u] = true; } return edges[u][v]; }

컴파일 시 표준 에러 (stderr) 메시지

game.cpp: In function 'int hasEdge(int, int)':
game.cpp:26:20: error: could not convert 'std::operator&<1500>((*(const std::bitset<1500>*)(& edges.std::vector<std::bitset<1500> >::operator[](((std::vector<std::bitset<1500> >::size_type)cur)))), visited.std::bitset<1500>::operator~())' from 'std::bitset<1500>' to 'bool'
   26 |     if (edges[cur] & ~visited) {