이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "game.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx,avx2,fma")
using namespace std;
typedef int ll;
#define MAX 1900
ll mp[MAX][MAX];
ll vis[MAX];
ll N;
queue<ll> q;
void bfs(ll x, ll f) {
ll i;
q.push(x);
ll v;
while (!q.empty()) {
v = q.front();
if (v == f) {
vis[v] = 1;
return;
}
q.pop();
if (vis[v]) continue;
vis[v] = 1;
for (i = 0; i < N; i++) if (mp[v][i] && !vis[i]) q.push(i);
}
}
void initialize(int n) {
N = n;
ll i, j;
for (i = 0; i < n; i++) for (j = 0; j < n; j++) mp[i][j] = 1;
}
int hasEdge(int u, int v) {
ll i;
while (!q.empty()) q.pop();
for (i = 0; i < N; i++) vis[i] = 0;
mp[u][v] = 0;
mp[v][u] = 0;
bfs(u, v);
if (vis[v]) return 0;
else mp[u][v] = 1, mp[v][u] = 1;
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |