Submission #51196

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
511962018-06-17 07:55:12adamczh1One-Way Streets (CEOI17_oneway)C++17
100 / 100
806 ms89540 KiB
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5;
int n, m, p;
vector<int> adj[MAXN];
int a[MAXN], b[MAXN];
int x[MAXN], y[MAXN];
map<pair<int, int>, int> cnt;
int Time;
int dfn[MAXN], low[MAXN];
map<pair<int, int>, bool> bridge;
void dfs(int cur, int p = -1) {
dfn[cur] = low[cur] = ++Time;
for (int v : adj[cur]) if (v != p) {
if (!dfn[v]) {
dfs(v, cur);
low[cur] = min(low[cur], low[v]);
if (low[v] > dfn[cur] && cnt[make_pair(cur, v)] == 1) {
bridge[make_pair(cur, v)] = bridge[make_pair(v, cur)] = true;
}
} else if (dfn[v] < dfn[cur]) {
low[cur] = min(low[cur], dfn[v]);
}
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...