# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
206658 | DodgeBallMan | One-Way Streets (CEOI17_oneway) | C++14 | 580 ms | 29296 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pii pair<int, int>
#define x first
#define y second
using namespace std;
const int N = 1e5 + 10;
const int M = 1e5 + 10;
vector<pii> edge, g[N], g2[N], query, coord;
int n, m, q, pre[N], low[N], lca[18][N], dep[N], co[N], e[N], dir[N], c;
bool bridge[M];
char label[N];
void find_bridge( int u, int p, int ee ) {
static int idx = 0;
pre[u] = low[u] = ++idx;
for( pii v : g[u] ) if( !pre[v.x] ) {
find_bridge( v.x, u, v.y );
low[u] = min( low[u], low[v.x] );
if( low[v.x] > pre[u] ) bridge[v.y] = 1;
} else if( v.y != ee ) low[u] = min( low[u], pre[v.x] );
}
void component( int u, int p ) {
co[u] = c;
for( pii v : g[u] ) if( v.x != p ) {
if( !co[v.x] && !bridge[v.y] ) component( v.x, u );
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |