# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
606800 | ThMinh_ | Network (BOI15_net) | C++14 | 674 ms | 262144 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#define forin(i,a,b) for(int i=a;i<=b;++i)
#define forv(a,b) for(auto &a:b)
#define ii pair<int, int>
using namespace std;
const int N = 5e5+10;
int n, m, cnt, tim, root;
int low[N], num[N], color[N], vis[N], id[N];
vector<int> loop[N], ke[N];
vector<ii> adj[N], ans;
stack<int> st;
void anal(int u, int edad) {
low[u] = num[u] = ++tim;
vis[u] = 1; st.push(u);
forv(e, adj[u]) {
int v = e.first, eid = e.second;
if(edad == eid) continue;
if(!vis[v]) {
anal(v, eid);
low[u] = min(low[u], low[v]);
}
else if(vis[v] == 1) low[u] = min(low[u], num[v]);
}
if(low[u] == num[u]) {
int v; cnt++;
do {
v = st.top(); st.pop();
loop[cnt].push_back(v);
id[v] = cnt;
vis[v] = 2;
컴파일 시 표준 에러 (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... |