#include <algorithm>
#include <array>
#include <bitset>
#include <cmath>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
typedef long long ll;
vector<vector<int>> adj;
vector<bool> vis, v;
vector<vector<int>> test;
void initialize(int n) {
adj.resize(n);
vis.resize(n, false);
}
void dfs(int u) {
vis[u] = true;
for (int &v : adj[u]) {
if (vis[v])
continue;
dfs(v);
}
}
bool hasEdge(int u, int v) {
int n = adj.size();
fill(vis.begin(), vis.end(), false);
adj[u].push_back(v);
dfs(0);
for (int i = 0; i < n; ++i) {
if (!vis[i]) {
return true;
}
}
adj[u].pop_back();
return false;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |