# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
245530 | MatesV13 | KOVANICE (COI15_kovanice) | C++11 | 743 ms | 59836 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>
using namespace std;
long long n, m, v; long long val[300005]; int moguce[300005];
vector<int> manji[300005], veci[300005], eq[300005];
bool visited[300005];
void dfs(int idx, vector<int> &ime){
if (visited[idx]) return;
visited[idx]=1; ime.push_back(idx);
for (int i=0; i<eq[idx].size(); i++)
dfs(eq[idx][i], ime);
return;
}
void check(int idx, int value){
if (moguce[idx]) return;
vector<int> x; dfs(idx, x);
for (int i=0; i<x.size(); i++)
moguce[x[i]]=1;
vector<int> y;
for (int i=0; i<x.size(); i++)
for (int j=0; j<veci[x[i]].size(); j++)
dfs(veci[x[i]][j], y);
for (int i=0; i<y.size(); i++)
visited[y[i]]=0;
for (int i=0; i<y.size(); i++)
if (val[y[i]]==value) check(y[i], value+1);
for (int i=0; i<x.size(); i++)
visited[x[i]]=0;
return;
}
void solve(int idx){
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |